內存釋放free函數如何知道內存大小

想知道free如何工作那肯定需要知道malloc如何工作,正所謂怎麼來的就怎麼回去。
使用malloc分配內存時候根據參數指定的大小,分配一塊內存,然後返回這塊內存的起始位置給調用者,這就是調用者拿到的所謂的指針。
起始這個指針並不是真正的起始位置,真正的指針在malloc返回指針 p 的前面,內存分配器在 p 的前面用兩個字節的空間來存放分配的內存大小信息。
看下圖:
在這裏插入圖片描述

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