局部變量內存分配情況:
局部變量保存在棧中(保存地址由高地址到低地址)。
先定義先分配內存。
由此可見局部變量分配空間的順序和變量的聲明順序直接相關,同時按照內存地址由高到低的順序進行空間分配.
先定義,先分配,地址由高到低
數組越界問題(看圖3和圖4)
由於首先聲明的是數組a[4],於是在高位上優先分配a,低位上分配i,因此可以發現這是並沒有出現&i = &a[4]的情況。此時要是執行的話程序就不是假死了,直接是內存出錯。
由此可以發現&i =&a[4],因爲先聲明的是i,然後纔是a[4],故i處於高位,a處於低位,但是越界後a[4]來到高位,覆蓋i。