亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

數組越界問題

int?array[2];?在課本上就是告訴我們數組大小是2個,array[0]和array[1]。
可是在視頻中,array[3]出現了,不管是編譯還是運行居然都沒問題。為什么?
到底哪里錯了?


正在回答

2 回答

那個是老師初期不小心寫錯了,4-6這一節的視頻里面已經紅字標出了是筆誤了。

0 回復 有任何疑惑可以回復我~

編譯器沒有錯。

編譯器不會對數組訪問越界進行檢查,且由于數組與指針的密切關系,這樣寫也許是程序員有意為之,所以也檢查不了。

這就是C語言的特色,也可以說是缺點:它賦予程序員足夠的自由,但需要程序員清楚自己在干什么。

0 回復 有任何疑惑可以回復我~
#1

海納川 提問者

謝謝,確實如此。自己查了一下,是gcc統計器不會對數組越界進行檢查。但其他語言可能就會編譯出錯。
2015-09-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Linux C語言指針與內存
  • 參與學習       116652    人
  • 解答問題       262    個

指針-C語言的核心,代領大家對c語言有更加深刻的理解

進入課程

數組越界問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號