永发信息网

calloc在动态分配完内存后,自动初始化该内存空间为零,内存空间为0是什么意思?

答案:1  悬赏:50  手机版
解决时间 2021-11-24 06:39
calloc在动态分配完内存后,自动初始化该内存空间为零,内存空间为0是什么意思?
最佳答案
内存空间为零的意思是,calloc所分配的这块内存,其内容全部填为零.
我们来谈谈另外一个函数,malloc,这个函数在分配完内存后,所分配的内存地址里面是有内容的,这些内容是上一次分配使用的内容,是一些垃圾内容,操作系统为了效率,不会自动把这些内容清空(清空也就是把内容全部填为零),而由程序员根据需要自己把其清空.
calloc 等效于 malloc + memset.
没有calloc的情况下,程序员如果想要一块干净的内存,必须先用malloc取得一块内存,然后用memset把内容清空.
有了calloc后,程序员只需要调用calloc就可以得到一块干净的内存,不需要再调用memset把内容清空了.

那既然有了calloc,为何还需要malloc呢? 那是因为很多时候程序员并不需要一块干净的内存,这个时候调用malloc的效率就会比calloc高.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求助LITEON的300W ATX电源,型号为PS-5301-08
完成一道题,求下列各式的x的值。
姜炳宇算命一次 它的寿命减少一年
义马是怎么来的
△+□+☆=△x□x☆写出各代表的数
tendan318路由器的初始密码
为什么《DOTA》又叫《守卫古树》这么难听的名
初中作文《我们班的睡神》
怀孕反应什么时候最大
优图快印店地址在什么地方,我要处理点事!
彭山至上海途中有多少个LNG站
25x69=?
建筑单位会不会把土方工程给乡镇一级单位
后院三国武将
梦幻西游周六藏宝山土地公公到处都找不到
推荐资讯
尿鎝h5.0正常吗
简单铁板油鱼做法你好没做过想干不知怎样做都
负163是大于零还是小于0
介绍九蒸九晒熟地黄的朋友都说好,它到底好在
松花江的三花五螺是什么鱼
腾达w307r支持100兆光纤?
用coreldraw做好的图应该保存什么格式能用PS
美的冷俊星空调怎么样
慢点富的服务态度怎样?
我头发比较稀疏但是洗头又没看到严重掉发只是
python 是2.7.6版 为什么if语句print就是报错
学远1对1中小学个性化辅导中心地址有知道的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?