用calloc動態創建數組

#include<stdio.h>
#include<stdlib.h>
//calloc()函數在stdlib頭文件裏面!! 
main()
{
	//calloc用法: void *calloc(size_t member,size_t  size)  
	//member是指單位的數量,size是指每個單位的大小
	//eg:calloc(10,4),那麼申請了10個單位,每個單位長度是4byte,總共申請了40個byte。
	
	
	//接下來用calloc動態創建一個數組,並且給數組賦值。
	//假設數組長度是10,因爲在64bit機子上,sizeof(int)=4,所以size=4. 
	int  *p=(int *)calloc(10,4); 
	//接下來輸入數據
	for(int i=0;i<10;i++)
	{
		scanf("%d",p+i);
	} 
	
	//輸出數據
	for(int i=0;i<10;i++)
	{
		printf("%d ",*(p+i));
	}
	//因爲你是在堆上申請的內存,所以記得釋放堆!!避免造成斷點!! 
	free(p);
	
	/*ps:與malloc不同的是calloc要負責初始化,int數組就初始化爲0,float就是0.0等等
	 而malloc不負責初始化,申請空間後,對應數據是隨機數*/ 
	return 0;
	
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章