課程
/后端開發
/C
/Linux C語言指針與內存
變量存儲在棧中不是按順序從大到小么!那指針往后移動時地址變大,怎么能把后面的變量輸出呢??
2015-10-28
源自:Linux C語言指針與內存 5-2
正在回答
回復 onemoo:關于你說的“給array[2]賦值就已經訪問越界了,代碼可能根本就無法運行?!?,事實上,C語言對數組下標越界不會做檢查,所以完全可能運行。
先吐槽:用這么bug的代碼作示例真的好嗎???
給array[2]賦值就已經訪問越界了,代碼可能根本就無法運行。
C標準不保證內存中 a b 和數組是緊鄰的,也不保證 a b 和數組在內存中的先后順序。
唯一能確定的是數組中的元素在內存中是緊鄰且遞增的,也就是 array[0] 后面一定是 array[1]。
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
3 回答棧中變量地址的問題
1 回答內存儲存問題
3 回答不是很分得清什么樣的情況存儲在代碼段內存,什么樣的在棧內存?請大神講解。
1 回答為什么棧內的函數比數據段中的變量位置???棧不是在數據段之上嗎?
5 回答棧內存分配
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-04
回復 onemoo:關于你說的“給array[2]賦值就已經訪問越界了,代碼可能根本就無法運行?!?,事實上,C語言對數組下標越界不會做檢查,所以完全可能運行。
2015-10-29
先吐槽:用這么bug的代碼作示例真的好嗎???
給array[2]賦值就已經訪問越界了,代碼可能根本就無法運行。
C標準不保證內存中 a b 和數組是緊鄰的,也不保證 a b 和數組在內存中的先后順序。
唯一能確定的是數組中的元素在內存中是緊鄰且遞增的,也就是 array[0] 后面一定是 array[1]。