C 库函数 - calloc()

描述

C 库函数 void *calloc(size_t nitems, size_t size) 分配所需的内存空间,并返回一个指向它的指针。malloccalloc 之间的不同点是,malloc 不会设置内存为零,而 calloc 会设置分配的内存为零。

声明

下面是 calloc() 函数的声明。

  1. void *calloc(size_t nitems, size_t size)

参数

  • nitems — 要被分配的元素个数。
  • size — 元素的大小。

返回值

该函数返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL。

实例

下面的实例演示了 calloc() 函数的用法。

实例

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int i, n;
  6. int *a;
  7. printf("要输入的元素个数:");
  8. scanf("%d",&n);
  9. a = (int*)calloc(n, sizeof(int));
  10. printf("输入 %d 个数字:\n",n);
  11. for( i=0 ; i < n ; i++ )
  12. {
  13. scanf("%d",&a[i]);
  14. }
  15. printf("输入的数字为:");
  16. for( i=0 ; i < n ; i++ ) {
  17. printf("%d ",a[i]);
  18. }
  19. free (a); // 释放内存
  20. return(0);
  21. }

让我们编译并运行上面的程序,这将产生以下结果:

  1. 要输入的元素个数:3
  2. 输入 3 个数字:
  3. 22
  4. 55
  5. 14
  6. 输入的数字为:22 55 14