C高手请进,关于free()函数的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 16:45:28
各位大虾,请问释放指针地址空间的free()函数是怎样从内存中将空间释放的,具体是怎样的?

内存分配都是由操作系统管理的。你调用这个函数他就给操作系统发送消息,说我要这么一块内存空间,你看情况给。操作系统在自己管理的内存里面找到一块没有人用的内存,将这块内存做上已经使用的标记,然后把这块内存的首地址告诉这个函数,于是你就得到了这么一块内存。
释放的时候操作系统就是把这块内存上已使用的标记去掉就可以了。至于这块内存里的东西还让他保持原样不管

简单的说,就是系统取消了你的程序对这段内存的使用权!