二维数组定义和使用

tech2022-07-09  178

假设有如下的一组数据:

{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

最新回复(0)