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