C語言中關於malloc(0)問題

首先來解釋malloc(0)的問題,這個語法是對的,並且確實也分配了內存,可是內存空間是0,就是說返回給你的指針是不能用的,感受奇怪吧?可是從操做系統的原理來解釋就不奇怪了,這要涉及操做系統維護內存的方法來講了,在內存管理中,內存被分爲2部分,棧和堆,棧有本身的機器指令,是一個先進後出的數據結構,我就在這裏再也不過多解釋了,malloc分配的內存是堆內存,因爲堆沒有本身的機器指令,因此要有系統本身
相關文章
相關標籤/搜索