C庫函數(shù) void *calloc(size_t nitems, size_t size) 分配請(qǐng)求的內(nèi)存,并返回一個(gè)指向它的指針。的malloc和calloc的區(qū)別是,malloc不設(shè)置內(nèi)存calloc為零,其中作為分配的內(nèi)存設(shè)置為零。
以下是calloc() 函數(shù)的聲明。
void *calloc(size_t nitems, size_t size)
nitems -- 這是要分配的元素?cái)?shù)。
size -- 這是元素的大小。
這個(gè)函數(shù)返回一個(gè)指針分配的內(nèi)存,或NULL如果請(qǐng)求失敗。
下面的例子顯示了釋放calloc() 函數(shù)的用法。
#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); }
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
Number of elements to be entered:3 Enter 3 numbers: 22 55 14 The numbers entered are: 22 55 14