malloc函数的用法和功能_malloc函数返回值

malloc函数的用法和功能_malloc函数返回值关于c语言的malloc,为什么char * 定义出来,不Malloc就可以使用呢?||||||为什么char * 定义出来,不Malloc就可以使用呢?我知道malloc 申请堆的空间,也知道128k的分水岭,就是疑惑c

关于c语言的malloc,为什么char * 定义出来,不Malloc就可以使用呢?   ||||||   为什么char * 定义出来,不Malloc就可以使用呢?   我知道malloc 申请堆的空间,也知道128k的分水岭,就是疑惑char * 怎么能够直接就读取数据了呢?而int *不malloc 必然不可以。   不malloC的char*发生了什么呢。?会有内存泄露么?   2020.2.6更新。   过了两年了多哈哈哈。。   好像是char *s=”hello”,这个玩意会放到静态数据区,s指向这个位置。而且是当做常量对待,应该是在编译时候的.data区域。。   不一定对,也算回答了自己的问题。以后要是再有发现再更新吧。   然而intj指向一个全局变量的话也可以不malloc,你压根没理解指针   安心好好学 C 语言,逛什么知乎。   基础知识没学好,还学什么 128KB 分水岭。   谁管你知不知道分水岭,这和这题有什么关系吗?   正经回答:   只要指向被分配内存就可以读数据,栈内存、堆内存、全局也好,唯独 和 随便读,没有 UB 。   malloc 用来指定内存地址的的,我觉得没有什么能不能用,而是搞清楚什么时候用,在哪里用?   为什么我们很多时候malloc会和指针联系在一起,因为指针只能保存某个地址位置,不可能代表一片地址,但是我们运算的时候,需要很多个地址,所以就会使用malloc申请内存。   而 char * 是代表某个变量的类型,如果是全局的,可能是字符串常量区,编译的时候就决定了内存位置。   如楼上所说,你还不了解什么是堆和栈。 什么是普通变量和指针变量   先把堆栈、数据段、只读数据段搞清楚,此问题马上就可解。   不是当代静态数据区,是放在只读数据区

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/50048.html

(0)
上一篇 2024年 9月 3日 下午3:56
下一篇 2024年 9月 3日 下午4:04

相关推荐

关注微信