欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。