C語言函數calloc

函數簡介

  函數名: calloc

  功 能: 在內存的動態存儲區中分配n個長度爲size的連續空間,函數返回一個指向分配起始地址的指針;如果分配不成功,返回NULL。

  跟malloc的區別:

  calloc在動態分配完內存後,自動初始化該內存空間爲零,而malloc不初始化,裏邊數據是隨機的垃圾數據。

  用 法: void *calloc(unsigned n,unsigned size);

  頭文件:stdlib.h或malloc.h

  相關函數:mallocreallocfree

應用舉例

  程序例1:

  #include <stdlib.h>

  #include<string.h>

  #include <stdio.h>

  int main(void)

  {

  char *str = NULL;

  /* 分配內存空間 */

  str = (char*)calloc(10, sizeof(char));

  /* 將hello寫入*/

  strcpy(str, "Hello");

  /*顯示變量內容*/

  printf("String is %s/n", str);

  /* 釋放空間 */

  free(str);

  return 0;

  }

  程序例2:

  從這個例子可以看出calloc分配完存儲空間後將元素初始化。

  #include<stdio.h>

  #include<stdlib.h>

  int main(void)

  {

  int i;

  int *pn=calloc(10,sizeof(int));

  for(i=0;i<10;i++)

  printf("%3d",*pn++);

  printf("/n");

  free(pn);

  return 0;

  }

  輸出十個0。

發佈了44 篇原創文章 · 獲贊 8 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章