最佳答案
今天我翻到 C 编程语言(第二版布莱恩·柯林汉和丹尼斯·里奇)的 167页,发现作者说我必须演 malloc
。这是书中的一部分:
7.8.5存储管理
Malloc 和 calloc 函数动态地获取内存块。
void *malloc(size_t n)
返回一个指向 n 个字节的未初始化存储的指针,或者如果请求不能被满足,返回 NULL。
void *calloc(size_t n, size_t size)
返回一个指针,该指针指向指定大小的 n 个对象的数组的足够空闲空间,如果 无法满足请求。存储被初始化为零。 Malloc 或 calloc 返回的指针对有问题的对象具有适当的对齐方式, 但它必须被转换成适当的类型,如
int *ip; ip = (int *) calloc(n, sizeof(int));
我已经知道 malloc
(及其系列)返回类型 无效 * 和 有很好的解释为什么不投 malloc
。
但我的问题是: 为什么这本书说我应该投它?