温馨提示×

C语言数组越界是否支持多维数组

小樊
81
2024-11-02 00:02:07
栏目: 编程语言

在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。访问越界位置可能导致程序崩溃或产生不可预测的行为。

0