1、什么是二维数组?
二维数组,其实,二维数组与一维数组是类似的,而有所不同的只是,二维数组多了一维,即多了一对中括,
以及,多了一个下标。
2、二维数组的定义格式:
类型关键字 数组名[常量表达式][常量表达式];
例子:
int a[3][3];
float b[3][5];
char c[8][4];
二维数组中的第一个(中括号)里面的(常量表达式)代表着二维数组中有多少行,
而第二个(中括号)里面的(常量表达式)代表着二维数组中有多少列。
而二维数组的大小,是使用(行总数)乘以(列的总数)。
=======================================================================
3、二维数组的初始化赋值
(1)对二维数组所有的元素都进行赋值的操作
方式1:
int a[2][3] = { {1,2,3} , {4,5,6} };
通过方式1,我们可以看到第1个大括号内的数据赋给第1行中的3个元素,
而第2个大括号内的数据赋给第2行中的3个元素,而这种方式,是按行来赋初值。
结果如下:
a[0][0] =1 a[0][1] =2 a[0][2] =3
a[1][0] =4 a[1][1] =5 a[1][2] =6
方式2:
int a[2][3]={1,2,3,4,5,6};
通过方式2,我们可以看到,是把所有的数据写在一个大括号内,
就是按数组排列的顺序对每个元素赋初值,跟一维数组类似的,
同时,它的存放顺序是按行来存放的。
结果如下:
a[0][0] =1 a[0][1] =2 a[0][2] =3
a[1][0] =4 a[1][1] =5 a[1][2] =6
(2)对二维数组部分的元素都进行赋值的操作
方式3:
int a[2][3]={{1},{4}};
通过方式3:对部分元素进行赋初值,在这里,它是对各行的第1列赋初值,其余元素自动为0。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =4 a[1][1] =0 a[1][2] =0
方式4:
int a[2][3]={{1},{0,0,5}};
通过方式4:也是对部分元素进行赋初值,在这里,它是对各第1行第1列以及第2行第3列进行了赋初值。
但是由于,在第2行中第3列的前面还有第1列与第2列的元素,
所以,即使不对它们赋值也要写上0。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =0 a[1][1] =0 a[1][2] =5
(3)对二维数组中某行的元素都不进行赋值的操作:
方式5:
int a[3][3]={{1},{},{8}};
通过方式5:对第一行第1列赋值为1,第二行整行不赋值,第三行第1列赋值为8。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =0 a[1][1] =0 a[1][2] =0
a[2][0] =0 a[2][1] =0 a[2][2] =8
方式6:
int a[3][3]={{1},{8}};
通过方式6:对第一行第1列赋值为1,第二行第1列赋值为8,第三行整行不赋值。
结果如下:
a[0][0] =1 a[0][1] =0 a[0][2] =0
a[1][0] =8 a[1][1] =0 a[1][2] =0
a[2][0] =0 a[2][1] =0 a[2][2] =0
(4)把二维数组定义时,行的总数量忽略:
方式7:
int a[ ][2]={1,2,3,4};
通过方式7:定义时可省略总行数定义,由系统跟据元素的总个数再根据列数,来求得总行数为2,
因为,初值有4个,所以,就是4除以2等于2行。
结果如下:
a[0][0] =1 a[0][1] =2
a[1][0] =3 a[1][1] =4
(5)把二维数组定义时,行的总数量忽略:
方式8:
int a[ ][4]={{0,0,1},{},{0,8}};
通过方式8:告诉系统有3行,因为,里面有3个大括号。
结果如下:
a[0][0] =0 a[0][1] =0 a[0][2] =1 a[0][3] =0
a[1][0] =0 a[1][1] =0 a[1][2] =0 a[1][3] =0
a[2][0] =0 a[2][1] =8 a[2][2] =0 a[2][3] =0
另外,二维数组定义时,总列数的定义不能省略
=======================================================================
4、如何引用二维数组中的"元素"。
二维数组元素的引用,就是通过一个(数组名) ,加上2对(中括号),以及2个(下标)来说明要引用哪一个元素。
即通过(行号)与(列号)就可以确定二维数中的元素,同时,行号或列号的下标都是从0开始。
例子:
int a[2][3]={{1,2,3},{4,5,6}};
a[1][0];
例子分析:
在例子中,第1个"下标"是"1",表示要引用第2行,而第2个"下标"是"0",表示要引用第1列,
所以,就确定了第2行第1列的元素,就是4。
=======================================================================
虽然,上面的二维数组看起来有点复杂,但是,大家不用担心,只要先做到记住二维数组的定义格式,
以及(方法1与方法2的)赋值方式,然后,多练习几次,再重复结合其它的知识点一起训练,再训练,
自然就可以从最初的记住,到熟练,然后,再到灵活运用了。
非常好,现在,我们已经掌握了C语言中的(二维数组),但是,如何去运行用它呢?
所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。
>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行
编程训练)
|