calloc – 清除内存的有用性

清除内存(即calloc()超过malloc())的优点是什么?你不会改变价值到别的东西吗?

解决方法

有两个阵营:一个是在声明初始化变量时有助于发现错误.这个营中的人们确定他们声明的一切都被初始化了.它们将指针初始化为NULL,ints为0等.这个想法是一切都是确定的,当他们在调试器中看到一个NULL指针时,他们立即知道它没有正确设置.它也可以帮助您的程序在测试期间崩溃,因为NULL指针取消引用,而不是在生产运行中神秘地崩溃.

一个阵营说,在声明中初始化变量使得更难调试,因为现在编译器不能警告你有关使用而不设置的变量.

没有告诉你我的个人偏好1:如果你属于第一个阵营,你需要calloc()而不是malloc().如果你属于第二个阵营(这显然是你做的),那么你更喜欢malloc()超过calloc().

现在有两个例外:

>如果你属于“初始化所有”阵营,那么你不需要calloc(),而不是malloc(),因为你正在初始化浮点数或者指针,而且你知道所有位0并不一定意味着0.或者你不想额外的开销.
>如果你属于“设置你需要”阵营,你可能想要calloc(),当你分配一些数据,并希望它是全零.例如,如果要计算动态分配的int数据的n的逐行总和.

1你可以在这里看到我对许多问题的答案,看看我属于哪个阵营:-).

相关文章

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