c語言內存分配之局部變量內存分配

局部變量內存分配情況:

局部變量保存在棧中(保存地址由高地址到低地址)。

先定義先分配內存。

   

      



由此可見局部變量分配空間的順序和變量的聲明順序直接相關,同時按照內存地址由高到低的順序進行空間分配.

先定義,先分配,地址由高到低


數組越界問題(看圖3和圖4


     


由於首先聲明的是數組a[4],於是在高位上優先分配a,低位上分配i,因此可以發現這是並沒有出現&i = &a[4]的情況。此時要是執行的話程序就不是假死了,直接是內存出錯。




由此可以發現&i =&a[4],因爲先聲明的是i,然後纔是a[4],故i處於高位,a處於低位,但是越界後a[4]來到高位,覆蓋i。




























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