課程
/后端開發(fā)
/C
/Linux C語(yǔ)言指針與內(nèi)存
int array[2]
array[3]=100;//申請(qǐng)數(shù)組應(yīng)該是兩個(gè)值,為什么在這不給報(bào)錯(cuò)?
2015-10-24
源自:Linux C語(yǔ)言指針與內(nèi)存 5-2
正在回答
編譯器不會(huì)對(duì)數(shù)組訪問越界進(jìn)行檢查。
因?yàn)閿?shù)組和指針是有密切聯(lián)系的,很多時(shí)候編譯器無(wú)法確定你訪問的位置是否在合理的范圍內(nèi),所以編譯器就干脆對(duì)此不檢查了。 ?實(shí)踐中,有經(jīng)驗(yàn)的程序員經(jīng)?;钣眠@種數(shù)組和指針的關(guān)系。
當(dāng)然,你這兩行代碼確實(shí)是錯(cuò)的,對(duì)array[3]的訪問確實(shí)越界了。雖然能編譯通過,但運(yùn)行時(shí)可能會(huì)發(fā)生錯(cuò)誤。
香濃一筆 提問者
舉報(bào)
指針-C語(yǔ)言的核心,代領(lǐng)大家對(duì)c語(yǔ)言有更加深刻的理解
1 回答數(shù)組的逆序排列,為什么不對(duì)啊
1 回答為什么會(huì)輸出數(shù)組的值啊
1 回答都說數(shù)組是指針常量 為什么p str 的時(shí)候輸出內(nèi)容 ,不輸出地址
2 回答為什么地址一樣數(shù)值不一樣?
2 回答數(shù)組長(zhǎng)度與數(shù)組賦值的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-10-24
編譯器不會(huì)對(duì)數(shù)組訪問越界進(jìn)行檢查。
因?yàn)閿?shù)組和指針是有密切聯(lián)系的,很多時(shí)候編譯器無(wú)法確定你訪問的位置是否在合理的范圍內(nèi),所以編譯器就干脆對(duì)此不檢查了。 ?實(shí)踐中,有經(jīng)驗(yàn)的程序員經(jīng)?;钣眠@種數(shù)組和指針的關(guān)系。
當(dāng)然,你這兩行代碼確實(shí)是錯(cuò)的,對(duì)array[3]的訪問確實(shí)越界了。雖然能編譯通過,但運(yùn)行時(shí)可能會(huì)發(fā)生錯(cuò)誤。