malloc(0)

最近看到一個很奇怪的問題,就是malloc(0),返回的卻不是NULL,但是free這塊內存時卻報錯。 程序跑起來的內存可以分爲棧和堆,棧有自己的機器指令,是一個先進後出的數據結構,我就在這裏不再過多解釋了,malloc分配的內存是堆內存,由於堆沒有自己的機器指令,所以要有系統自己編寫算法來管理這片內存,通常的做法是用鏈表,在每片被分配的內存前加個表頭,裏面存儲了被分配內存的起始地址和大小,你的m
相關文章
相關標籤/搜索