与calloc vs malloc有关的C教程问题

与calloc vs malloc有关的C教程问题,第1张

概述我正在跟着这个 tutorial( http://theocacao.com/document.page/234).我对这一段感到困惑,主要是与calloc有关的行: We can also use a variation of the malloc function, called calloc. The calloc function takes two arguments, a value 我正在跟着这个 tutorial( http://theocacao.com/document.page/234).我对这一段感到困惑,主要是与calloc有关的行:

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教程问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1234329.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存