假设您有以下一组数据:
{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列的值,那么一个二维数组可以定义如下:
整数数组[3][6];
此时,array数组有3行6列的元素。 一行数据为一维数组,例如:
(1) array[0][6]代表一维数组,代表第一行数据:
{100, 88, 99, 200, 600, 800}
(2) array[1][6]代表一维数组,代表第二行数据:
{200, 98, 99, 600, 600, 600}
(3) array[2][6]表示一维数组,表示第三行的数据:
{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]的元素。 下面是一个操作二维数组的例子。 程序测试示例如下:
深入学习,可以交到朋友,工号:魏凯峰linux编程学院
程序运行结果如下:
深入学习,可以交到朋友,工号:魏凯峰linux编程学院
可以看到,在这个例子中,我们定义了一个二维数组,如下所示:
整数数组[3][6];
定义一个3行6列的数组,数组元素为int类型。 因此,数组元素可以存储 int 类型的整数值。 然后,通过for循环控制语句对array数组进行赋值和访问。