C 標(biāo)準(zhǔn)庫 - <stdlib.h>
C 庫函數(shù) void *calloc(size_t nitems, size_t size) 分配所需的內(nèi)存空間,并返回一個(gè)指向它的指針。malloc 和 calloc 之間的不同點(diǎn)是,malloc 不會設(shè)置內(nèi)存為零,而 calloc 會設(shè)置分配的內(nèi)存為零。
下面是 calloc() 函數(shù)的聲明。
void *calloc(size_t nitems, size_t size)
該函數(shù)返回一個(gè)指針,指向已分配的內(nèi)存。如果請求失敗,則返回 NULL。
下面的示例演示了 calloc() 函數(shù)的用法。
#include <stdio.h> #include <stdlib.h> int main() { int i, n; int *a; printf("要輸入的元素個(gè)數(shù):"); scanf("%d",&n); a = (int*)calloc(n, sizeof(int)); printf("輸入 %d 個(gè)數(shù)字:\n",n); for( i=0 ; i < n ; i++ ) { scanf("%d",&a[i]); } printf("輸入的數(shù)字為:"); for( i=0 ; i < n ; i++ ) { printf("%d ",a[i]); } free (a); // 釋放內(nèi)存 return(0); }
讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
要輸入的元素個(gè)數(shù):3 輸入 3 個(gè)數(shù)字: 22 55 14 輸入的數(shù)字為:22 55 14