8.動態內存管理malloc calloc realloc free

  • malloc

描述
C 庫函數 void *malloc(size_t size) 分配所需的內存空間,並返回一個指向它的指針。
聲明
下面是 malloc() 函數的聲明。
void *malloc(size_t size)
參數
size – 內存塊的大小,以字節爲單位。
返回值
該函數返回一個指針 ,指向已分配大小的內存。如果請求失敗,則返回 NULL。

  • realloc

描述
C 庫函數 void *realloc(void *ptr, size_t size) 嘗試重新調整之前調用 malloc 或 calloc 所分配的 ptr 所指向的內存塊的大小。
聲明
下面是 realloc() 函數的聲明。
void *realloc(void *ptr, size_t size)
參數
ptr – 指針指向一個要重新分配內存的內存塊,該內存塊之前是通過調用 malloc、calloc 或 realloc 進行分配內存的。如果爲空指針,則會分配一個新的內存塊,且函數返回一個指向它的指針。
size – 內存塊的新的大小,以字節爲單位。如果大小爲 0,且 ptr 指向一個已存在的內存塊,則 ptr 所指向的內存塊會被釋放,並返回一個空指針。
返回值
該函數返回一個指針 ,指向重新分配大小的內存。如果請求失敗,則返回 NULL。

  • 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。

  • free

描述
C 庫函數 void free(void *ptr) 釋放之前調用 calloc、malloc 或 realloc 所分配的內存空間。
聲明
下面是 free() 函數的聲明。
void free(void *ptr)
參數
ptr – 指針指向一個要釋放內存的內存塊,該內存塊之前是通過調用 malloc、calloc 或 realloc 進行分配內存的。如果傳遞的參數是一個空指針,則不會執行任何動作。
返回值
該函數不返回任何值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章