加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

calloc – 清除内存的有用性

发布时间:2020-12-16 05:41:17 所属栏目:百科 来源:网络整理
导读:清除内存(即calloc()超过malloc())的优点是什么?你不会改变价值到别的东西吗? 解决方法 有两个阵营:一个是在声明初始化变量时有助于发现错误.这个营中的人们确定他们声明的一切都被初始化了.它们将指针初始化为NULL,ints为0等.这个想法是一切都是确定的,
清除内存(即calloc()超过malloc())的优点是什么?你不会改变价值到别的东西吗?

解决方法

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

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

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

现在有两个例外:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读