二维数组的定义
定义二维数组的方法跟一位数组相似,使用方括号指定每个维度的元素个数:
类型 数组名[常量表达式][常量表达式]
int a[6][6]; // 6*6,6行6列
char b[4][5]; // 4*5,4行5列
double c[6][3]; // 6*3,6行3列
注意:这里需要强调的是几行几列我们是从概念模型上来看的,也就是说,这样来看待二维数组,我们可以更容易理解。但从物理模型上看,无论是二维数组还是更多维的数组,在内存中仍然是以线性的方式存储的。
int b[4][5];
从图中我们不难看出,二维数组事实上就是在一维数组的基础上,每个元素存放一个数组。同样道理,三维数组,四维数组都是以同样的方式实现。
二维数组的访问
数组名[下标]
a[0][0]; // 访问a数组中第1行第1列的元素
b[1][3]; // 访问b数组中第2行第4列的元素
c[3][3]; // 访问c数组中第4行第4列的元素
跟访问一位数组相似,同样是使用下标访问数组中的元素。同样需要注意下标的取值范围,以防止数组的越界访问。
比如 int a[3][4],其“行下标”