
We can also use a variation of the malloc function,called calloc. The calloc function takes two arguments,a value count and the base value size. It also clears the memory before returning a pointer,which is useful in avoIDing unpredictable behavior and crashes in certain cases:
最后一幕让我感到困惑清除记忆是什么意思?
解决方法 函数calloc将确保返回的内存中的所有字节都设置为0. malloc不会有这样的保证.它返回的数据可以并且将由看似随机的数据组成.该区别对于数据成员的初始化非常有用.如果0对于struct中的所有值都是一个很好的默认值,那么calloc可以简化结构创建.
Foo* pFoo = calloc(1,sizeof(Foo));
与
Foo* pFoo = malloc(sizeof(Foo));pFoo->Value1 = 0;pFoo->Value2 = 0;
为了清楚起见省略了空的检查.
总结以上是内存溢出为你收集整理的与calloc vs malloc有关的C教程问题全部内容,希望文章能够帮你解决与calloc vs malloc有关的C教程问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)