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]。这是一个未定义的行为。