c 二维数组定义

admin 21 0

**C语言中的二维数组定义与操作**

在C语言中,二维数组是一个非常重要的数据结构,它允许我们存储和操作表格形式的数据,二维数组可以看作是数组的数组,即每个元素都是一个一维数组,下面我们将详细讨论如何在C语言中定义和使用二维数组。

一、二维数组的定义

在C语言中,二维数组的定义语法如下:

```c

type arrayName[rowSize][colSize];

其中,`type` 是数组中元素的类型(如 `int`、`float`、`char` 等),`arrayName` 是数组的名称,`rowSize` 是数组的行数,`colSize` 是数组的列数。

例如,定义一个3行4列的整型二维数组 `matrix`,可以这样写:


```c
int matrix[3][4];

这个二维数组 `matrix` 可以存储12个整数(3行 * 4列 = 12个元素)。

二、二维数组的初始化

在C语言中,二维数组可以在定义时进行初始化,初始化时,可以逐个指定每个元素的值,也可以只指定部分元素的值。

1. 完全初始化:

int matrix[3][4] = {

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}

};

在这个例子中,我们为 `matrix` 数组的每个元素都指定了值。

2. 部分初始化:


```c
int matrix[3][4] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

在这个例子中,我们只初始化了 `matrix` 数组的前9个元素,未初始化的元素将被自动设置为0(对于整型数组)。

三、二维数组的操作

二维数组的操作主要包括访问、修改和遍历数组中的元素。

1. 访问元素:

访问二维数组中的元素需要使用两个索引:行索引和列索引,要访问 `matrix` 数组中第2行第3列的元素,可以使用 `matrix[1][2]`(注意行索引从0开始计数)。

2. 修改元素:

修改二维数组中的元素与访问元素类似,只需指定要修改的元素的位置,并为其赋新值即可,要将 `matrix` 数组中第2行第3列的元素设置为100,可以使用 `matrix[1][2] = 100;`。

3. 遍历数组:

遍历二维数组通常需要使用两个嵌套的循环,外层循环控制行索引,内层循环控制列索引,以下代码将遍历 `matrix` 数组中的所有元素,并打印它们的值:

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 4; j++) {

printf("%d ", matrix[i][j]);

}

printf("\n"); // 每行打印完毕后换行

}

```

四、注意事项

1. 二维数组的行数和列数在定义时必须明确指定,且不能是变量或表达式。

2. 二维数组在内存中是连续存储的,但按行优先存储(即先存储第一行的所有元素,再存储第二行的所有元素,以此类推)。

3. 访问二维数组中的元素时,行索引和列索引都不能越界,否则会导致程序崩溃或产生不可预期的结果。