在stdlib.h
头文件中声明的calloc()
函数提供了一些优于malloc()
的优点。
首先,它将内存分配给给定大小的多个元素。
其次,它初始化分配给零的内存。
calloc()
函数需要两个参数值:
- 需要空间的数据项的数量。
- 每个数据项的大小。
两个参数都应该是size_t
类型。
以下是如何使用calloc()
为类型为int
的75
个元素的数组分配内存:
int *pNumber = (int*) calloc(75, sizeof(int));
如果无法分配请求的内存,则返回值将为NULL
。
pPrimes = calloc((size_t)total, sizeof(unsigned long long));
if (primes == NULL)
{
printf("内存不足,看起来系统要挂掉了.\n");
return 1;
}