calloc – 清除内存的有用性

前端之家收集整理的这篇文章主要介绍了calloc – 清除内存的有用性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
清除内存(即calloc()超过malloc())的优点是什么?你不会改变价值到别的东西吗?

解决方法

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

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

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

现在有两个例外:

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

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

猜你在找的C&C++相关文章