free()

原型

void free(void *ptr)
//  釋放ptr指向的存儲空間。

free能夠釋放calloc, malloc, realloc動態分配的空間,當你調用malloc、alloc分配內存時,不單單是從堆裏面分配獲得了可用內存,實際上內存管理子系統還維護了內存列表。函數

被釋放的空間一般被送入可用存儲區池。free()函數只是將參數指針指向的內存歸還給操做系統,並不會把參數指針置NULL。操作系統

內存這種底層資源都是由操做系統來管理的,而不是編譯器,編譯器只是向操做系統提出申請。指針

free函數並無能力去釋放真正的內存,只是通知操做系統它歸還了內存,而後操做系統就會修改內存分配表,對被free掉的內存從新進行管理,以方便下次分配。code

頭文件:

#include<stdlib.h>
相關文章
相關標籤/搜索