原型
void free(void *ptr)// 释放ptr指向的存储空间。
free可以释放calloc, malloc, realloc动态分配的空间,当你调用malloc、alloc分配内存时,不仅仅是从堆里面分配得到了可用内存,实际上内存管理子系统还维护了内存列表。
被释放的空间通常被送入可用存储区池。free()函数只是将参数指针指向的内存归还给操作系统,并不会把参数指针置NULL。
内存这种底层资源都是由操作系统来管理的,而不是编译器,编译器只是向操作系统提出申请。
free函数并没有能力去释放真正的内存,只是通知操作系统它归还了内存,然后操作系统就会修改内存分配表,对被free掉的内存重新进行管理,以方便下次分配。
头文件:
#include