二维数组
问题描述:给定一个N行M列的矩阵,将其逆序输出(行和列都倒着输出)。
样例:
输入数据#1
3 4
1 2 3 4
4 5 6 7
5 6 7 8
Copy
输出数据#1
8 7 6 5
7 6 5 4
4 3 2 1
Copy
算法思路:定义N个一维数组,每个数组存储一行,然后倒着讲这些一维数组逆序输出。
问题:如何定义N个大小为M的一维数组?在程序中又将如何访问?
一、二维数组的定义
当一维数组元素的类型也是一维数组时,便构成了“数组的数组”,即二维数组。二维数组定义的一般格式:
dataType arrayName[length1][length2];
Copy
其中, dataType 为数据类型, arrayName 为数组名, length1 为第一维下标的长度, length2 为第二维下标的长度。
我们可以将二维数组看做一个 Excel 表格,有行有列,length1 表示 行数 ,length2 表示列数,要在二维数组中定位某个元素,必须同时指明行和列。
例如:
int a[4][6];
Copy
![](https://i-blog.csdnimg.cn/blog_migrate/5e58a9d39a4c8beb013f8d26f2bae636.png)
二、二维数组元素的引用
二维数组的数组元素引用与一维数组元素引用类似,区别在于二维数组元素的引用 必须给出两个下标 。
引用的格式为:
arrayName[length1][length2];
Copy
例如:
int a[3][4];