假设有如下的一组数据:
{100, 88, 99, 200, 600, 800}
那么,很直观地看到,就是一行数据,有6列,每一列是一个数值。如果这一组数据使用一维数组来表示,在内存中的存储形式如下:
100
88
99
200
600
800
那么,如果有如下的一组数据:
{100, 88, 99, 200, 600, 800}
{200, 98, 99, 600, 600, 600}
{300, 98, 99, 500, 500, 500}
可以很直观地看到,有3行数据,每一行有6列,那么,我们可以使用一个表格来表示:
100
88
99
200
600
800
200
98
99
600
600
600
300
98
99
500
500
500
这样的一组数据,在C语言中,可以使用二维数组表示。二维数组的定义格式如下:
数据类型 数组名 [行数][列数];
其中,行数和列数是一个常量数值。分别表示一个二维数组的行数和列数。如果行数为M,列数为N,那么,就称定义的数组是M行N列。数组定义如下:
数据类型 数组名[M][N];
例如,上面给出的例子,有3行6列的数值,那么,可以定义二维数组如下:
int array[3][6];
此时,array数组有3行6列的元素。其中一行数据就是一维数组,例如:
(1) array[0][6] 表示一维数组,表示第 1 行数据:
{100, 88, 99, 200, 600, 800}
(2) array[1][6] 表示一维数组,表示第 2 行数据:
{200, 98, 99, 600, 600, 600}
(3) array[2][6] 表示一维数组,表示第 3 行数据:
{300, 98, 99, 500, 500, 500}
对于二维数组,是由多个一维数组组成。例如M行N列的二维数组,就有M个一维数组组成。
对于二维数组元素的引用,与一维数组一样,是通过“下标”来访问。访问元素格式如下:
数组名[行下标][列下标];
注意:下标从0开始计算;
例如,上面的例子中,定义了数组 int array[3][6];就定义一个数组变量,数组的名称是array,数值元素的类型是int类型。数组有3行6列。其中,要访问第i行第j列的元素,可以表示为array[i][j]。注意:下标i、j是从0开始计算。
如果要访问array数组中元素值是300这个元素,它就是在第2行第0列这个元素,就是array[2][0]元素。下面举例操作二维数组,程序测试例子如下:
程序运行结果如下:
可以看到,在这个例子中,我们定义了一个二维数组,如下:
int array[3][6];
定义了 3 行 6 列数组, 数组元素是 int 类型。所以,数组元素可以存放一个int类型的整数值。然后,通过for循环控制语句来对array数组进行赋值和访问。
韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip