|
| 你查看下內存分布,ARR[2][2] ={{0,1},{2,3}},你同樣可以用ARR[3]調用,結果是3。這兩個是同一個地址 |
| 會溢出啊,運行正常是你沒測試出來。會寫到其他內存去,只不過可能那段內存沒有其他變量用,就沒有造成錯誤。 |
| 單片機運行時不檢查數組是否越界,一但越界可能會導致其他數組或變量的值被破壞。 |
| 這是你走運,數組后面沒有其他數據,而且xdata空間足夠,所以越界沒出現錯誤。在電腦上面這么做試試,八成要崩潰。 |
| 數組名類似一個指針,也就是起始地址,后面應用的話,相當于在起始地址上加偏移地址,超出數組范圍可以的,要自己寫程序注意 |
|
C語言 本身不幫你檢測是否走出范圍的,要程序員掌控的。 |