c -在分配的内存之外使用数组索引看起来很好


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]如何可执行

我建议使用"accessible"而不是"executable"

  • 点1。 number[5]number[6]均脱界。请记住,C使用基于0的数组索引。

  • 点2。访问超出绑定的内存会导致未定义的行为。这包括各种奇怪的行为。

超出任何数组的限制都会导致未定义的行为

你已经声明number是一个大小为5的数组。你想用数字[5]和数字[6]。

最新更新