calloc() - C語言庫函式


C庫函式 void *calloc(size_t nitems, size_t size) 分配請求的記憶體,並返回一個指向它的指標。的malloc和calloc的區別是,malloc不設定記憶體calloc為零,其中作為分配的記憶體設定為零。

宣告

以下是calloc() 函式的宣告。

void *calloc(size_t nitems, size_t size)

引數

  • nitems -- 這是要分配的元素數。

  • size -- 這是元素的大小。

返回值

這個函式返回一個指標分配的記憶體,或NULL如果請求失敗。

例子

下面的例子顯示了釋放calloc() 函式的用法。

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i, n;
   int *a;

   printf("Number of elements to be entered:");
   scanf("%d",&n);

   a = (int*)calloc(n, sizeof(int));
   printf("Enter %d numbers:
",n);
   for( i=0 ; i < n ; i++ ) 
   {
      scanf("%d",&a[i]);
   }

   printf("The numbers entered are: ");
   for( i=0 ; i < n ; i++ ) {
      printf("%d ",a[i]);
   }
   
   return(0);
}

讓我們編譯和執行上面的程式,這將產生以下結果:

Number of elements to be entered:3
Enter 3 numbers:
22
55
14
The numbers entered are: 22 55 14