《C和指標》第十一章 動態記憶體分配

2021-06-22 05:08:47 字數 419 閱讀 9910

1.當陣列被宣告時,必須在編譯時知道它的長度。動態記憶體分配允許程式為乙個長度在執行時才知道的陣列分配記憶體空間

malloc 引數是要分配的位元組數,並返回指向該記憶體的指標

calloc 引數是需要分配的元素個數和每個元素的長度,返回指向該塊記憶體的指標,並且在返回前把記憶體初始化為零

realloc 用於改變一塊已經動態分配記憶體的大小,增加記憶體塊大小有時可能需要把原來記憶體塊上的所有資料複製到乙個新的更大的記憶體塊上

3.當乙個動態分配的記憶體塊不再使用時,呼叫free函式把它歸還給可用記憶體池

4.如果分配失敗,會返回乙個null指標,所以在對動態分配的記憶體進行操作時,確保指標分配成功

5.free函式只能用來釋放 malloc、colloc、 realloc分配的記憶體

6.記憶體洩露是指記憶體被動態分配後,當它不再被使用時未被釋放

C和指標 第11章 動態記憶體分配

2.記憶體分配 void malloc size t size void free void pointer malloc stdlib.h 的引數是需要分配的記憶體位元組 字元 數。如果記憶體池的可用記憶體可用滿足這個需求,返回乙個指向被分配的連續的記憶體塊的起始位置的指標。如果記憶體池為空,或者...

C和指標 動態記憶體分配

void malloc size t size 分配所需的記憶體空間,並返回乙個指向它的指標。記憶體塊的大小,以位元組為單位。void calloc unsigned int num,unsigned int size 功能 在記憶體的動態儲存區中分配num個長度為size的連續空間,函式返回乙個指...

C和指標詳解 動態記憶體分配

malloc和free malloc和free分別用於執行動態記憶體分配和釋放。這些函式維護乙個可用記憶體池。當乙個程式另外需要一些記憶體時,它就呼叫malloc函式,malloc從記憶體池中提取一塊合適的記憶體,並向該程式返回乙個指向這塊記憶體的指標。當一塊以前的記憶體不再使用時,程式呼叫free...