易百教程

使用calloc()函数的内存分配

stdlib.h头文件中声明的calloc()函数提供了一些优于malloc()的优点。

首先,它将内存分配给给定大小的多个元素。
其次,它初始化分配给零的内存。

calloc()函数需要两个参数值:

  • 需要空间的数据项的数量。
  • 每个数据项的大小。

两个参数都应该是size_t类型。
以下是如何使用calloc()为类型为int75个元素的数组分配内存:

int *pNumber = (int*) calloc(75, sizeof(int));

如果无法分配请求的内存,则返回值将为NULL

pPrimes = calloc((size_t)total, sizeof(unsigned long long));
if (primes == NULL)
{
   printf("内存不足,看起来系统要挂掉了.\n");
   return 1;
}