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

 C 標準庫 - <stdlib.h>