在C语言中,数组越界确实支持多维数组
#include <stdio.h>
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 数组越界访问
printf("%d ", arr[3][0]); // 输出未定义,可能导致程序崩溃
return 0;
}
在这个例子中,我们定义了一个3x3的二维数组arr
。通过嵌套循环,我们可以访问数组中的每个元素。然而,当我们尝试访问arr[3][0]
时,我们访问了数组的一个越界位置,因为数组的有效索引范围是从0到2。访问越界位置可能导致程序崩溃或产生不可预测的行为。