【发布时间】:2012-10-28 13:57:17
【问题描述】:
我在谷歌上搜索找出 malloc 和 calloc 类型转换的原因。但是,我只发现 malloc 的类型转换是不必要的,因为它返回 void 指针,但是 calloc 呢。这也是 calloc 的相同原因???
现在,如果我们回到第一点,关于 malloc 和 calloc 的返回值。然后,我发现,两者都返回了分配的空间。所以,我在这里有点困惑。所以,我的问题是
- 的返回值是多少
malloc和calloc
是否需要强制类型转换 malloc 和 calloc。为什么?
【问题讨论】:
-
@hmjd 可能是.. 但在这里我也要求
malloc和calloc。 -
是的,这是重复的,但是编译器越来越讨厌要求您将 void 指针转换为任何其他类型 - 这与 void 指针的原始目的背道而驰,即是一种通用类型,可以转换并分配给任何东西。这是更多的C“进步”。