当前位置:首页>开发>正文

C语言——关于二维数组的初始化问题

2024-06-27 14:24:40 互联网 未知 开发

C语言——关于二维数组的初始化问题?

C语言——关于二维数组的初始化问题

二维数组可以看成特殊的一维数组,每个元素又由一个一维数组组成。今天小编给大家讲解一下有关二维数组的一些用法。

1.定义二维数组的方法和一维数组相似,如:int a[3][3]就是定义了一个3行3列的二维数组。


C语言——关于二维数组的初始化问题







2.但是我么要注意,这个3行3列的二维数组是逻辑上的概念,能形象的表示出行列关系。而在内存中,各元素是连续存放的,不是二维的,是线性的,这点大家一定要清楚。

C语言——关于二维数组的初始化问题

3.二维数组的初始化,可以分行给元素赋值,如步骤一的图。也可以将所有数据写在一个花括号内,按照元素在内存中的排列顺序对各元素赋初值。但是这种方法一旦数据很多,会写成一大片,容易遗漏,不方便检查。

C语言——关于二维数组的初始化问题

4.可以对部分元素赋值,例如:int a[3][3]={{1},{4},{7}}

C语言——关于二维数组的初始化问题

5.也可以只对某几行赋值,例如:int a[3][3]={{1,2},{4}}

C语言——关于二维数组的初始化问题

6.如果对全部元素都赋初值,则定义数组时可以对第一维的长度不指定,但第二维的长度不能省去。也可以只对部分元素赋值,而省略第一维的长度,但应该分行赋值。

C语言——关于二维数组的初始化问题

1、定义二维数组的方法和一维数组相似,如:

int a[3][3]

就是定义了一个3行3列的二维数组。

C语言——关于二维数组的初始化问题

2、但是我么要注意,这个3行3列的二维数组是逻辑上的概念,能形象的表示出行列关系。而在内存中,各元素是连续存放的,不是二维的,是线性的,这点大家一定要清楚。

C语言——关于二维数组的初始化问题

3、二维数组的初始化,可以分行给元素赋值,如步骤一的图。

也可以将所有数据写在一个花括号内,按照元素在内存中的排列顺序对各元素赋初值。但是这种方法一旦数据很多,会写成一大片,容易遗漏,不方便检查。

C语言——关于二维数组的初始化问题

4、可以对部分元素赋值,例如:

int a[3][3]={{1},{4},{7}}

C语言——关于二维数组的初始化问题

5、也可以只对某几行赋值,例如:

int a[3][3]={{1,2},{4}}

C语言——关于二维数组的初始化问题

6、如果对全部元素都赋初值,则定义数组时可以对第一维的长度不指定,但第二维的长度不能省去。

也可以只对部分元素赋值,而省略第一维的长度,但应该分行赋值。

C语言——关于二维数组的初始化问题