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

我正在跟着这个 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;

为了清楚起见省略了空的检查.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...