存儲空間的配置設定和釋放
動态存儲配置設定的資料結構
頭檔案 #include<stdlib.h>
用四個函數來進行動态儲存配置設定{ malloc(),calloc(), realloc()},動态存儲釋放:free()。
1.malloc(),動态配置設定一段記憶體空間
void *malloc(unsigned int size)
用sizeof()來計算申請空間的大小
例:int *p=(int *)malloc(sizeof(int))
申請一個Int類型長度的存儲空間,并将配置設定的位址空間位址轉化成int類型位址,賦給所定義的指針變量P.

2.calloc(),動态配置設定連續記憶體空間
void *calloc(unsigned int n,unsigned int size);
記憶體申請n個長度的size位元組的存儲空間,并傳回改存儲空間的起始位置,n為元素的個數,size為元素存儲長度。
例:int*p=(int*)calloc(10,sizeof(int));
相當于 int *p=(int *)mallo(sizeof(int)*10);
比如:用calloc和malloc 函數配置設定數組26個字元的字元數
char *ch1=(char*)calloc(26,sizeof(char));
char *ch2=(char*)malloc(sizeof(char[26]);
3.realloc改變指針指向空間的大小
void *realloc (void *prt,size_t size)
例:
改變一個浮點型空間大小為整型大小
fDouble=(double*)malloc(sizeof(double));
iInt=realloc(fDouble,sizeof(int));
程式:double 型改為short
4.free(),釋放存儲空間
void free (void *p)
無傳回值
例:int *a;
*a=(int *)calloc(20,sizeof(int));
a=b;
b++;
free(a);