【发布时间】:2010-12-05 00:52:30
【问题描述】:
做有什么区别:
ptr = malloc (MAXELEMS * sizeof(char *));
或:
ptr = calloc (MAXELEMS, sizeof(char*));
什么时候最好使用 calloc 而不是 malloc,反之亦然?
【问题讨论】:
-
在 C 中,您可以更一般地将上述内容写为:
ptr = calloc(MAXELEMS, sizeof(*ptr)); -
一篇关于calloc和malloc+memset区别的有趣帖子vorpus.org/blog/why-does-calloc-exist
-
@ddddavidee 在网上看到这么多答案不满意后,我也找到了那个博客。 Nathaniel J. Smith 的分析值得 100 多分。