int main(){
int number[5];
number[0]=45;
number[1]=12;
number[2]=555;
number[5]=89;
number[6]=46;
printf("%d",number[6]);
}
正如我們所知,我們不應該訪問數組越界。在這裏,number[6]
如何可執行?使用分配內存之外的數組索引顯示正常,怎麼樣?
int main(){
int number[5];
number[0]=45;
number[1]=12;
number[2]=555;
number[5]=89;
number[6]=46;
printf("%d",number[6]);
}
正如我們所知,我們不應該訪問數組越界。在這裏,number[6]
如何可執行?使用分配內存之外的數組索引顯示正常,怎麼樣?
如何數[6]可以可執行
我會虛心建議使用「通達」 的代替「可執行」
要點1。number[5]
和number[6]
都沒有限制。請記住,C
使用0
基於索引的數組。
第2點。訪問超出限制的內存導致undefined behaviour。這包括各種奇怪的行爲。
去任何數組的範圍之外導致undefined behavior
你已經宣佈數爲5大小的數組,你要使用數[5]和號碼[6]。這是一個未定義的行爲。