当前位置:
首页 >
C语言malloc和calloc的区别
发布时间:2023/11/30
49
豆豆
生活随笔
收集整理的这篇文章主要介绍了
C语言malloc和calloc的区别
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
是否对申请的区域进行初始化而已
但是我想你也知道我们写程序的时候多用malloc而很少用calloc,何解?
因为calloc虽然对内存进行了初始化(全部初始化为0),但是同样也要降低效率的
calloc相当于
p = malloc();
memset(p, 0,size);
多了对内存的写零操作,而写零这个操作我们有时候需要,而大部分时间不需要
所以就有两个函数并存的关系了
(1)函数malloc不能初始化所分配的内存空间
(2)函数calloc() 会将所分配的内存空间中的每一位都初始化为零
(3)realloc可以对给定的指针所指的空间进行扩大或者缩小,无论是扩张或是缩小,原有内存的中内容将保持不变.当然,对于缩小,则被缩小的那一部分的内容会丢失.realloc并不保证调整后的内存空间和原来的内存空间保持同一内存地址.相反,realloc返回的指针很可能指向一个新的地址.
总结
以上是生活随笔为你收集整理的C语言malloc和calloc的区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 男人不孕不育症好治疗吗
- 下一篇: centOS6.5如何从启动界面直接进入