二维数组声明时,第一维不能省略的原因
小于 1 分钟...
二维数组声明时,第一维不能省略的原因
在二维数组的声明中,既可以行和列都指定值,也可也省略第一维。
int a[2][3]; // 行列都指定
int b[][10]; // 只指定列
在语言中的多维数组只是抽象意义上的多维数组,其本质都是由若干个长度相同的一维数组组成的,而二维数组中的第二维度就是一维数组的长度。
编译器对数组元素绝对寻址的原理
例如有数组 int a[n][m]
,当访问 a[i][j]
时,通过以下算式获取 a[i][j]
的绝对地址 local[i][j]
:
通过上面算式可以看到使用到了初始的列值 m
,而未使用行值 n
.