C 庫函數 - calloc()
描述
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("要輸入的元素個數:");
scanf("%d",&n);
a = (int*)calloc(n, sizeof(int));
printf("輸入 %d 個數字:\n",n);
for( i=0 ; i < n ; i++ )
{
scanf("%d",&a[i]);
}
printf("輸入的數字為:");
for( i=0 ; i < n ; i++ ) {
printf("%d ",a[i]);
}
free (a); // 釋放記憶體
return(0);
}
讓我們編譯並運行上面的程式,這將產生以下結果:
要輸入的元素個數:3 輸入 3 個數字: 22 55 14 輸入的數字為:22 55 14