word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">二维数组的定义
word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">
定义二维数组的形式如下:
类型说明符数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一位下标的长度,常量表达式2标识第二维下表的长度。
例如:
int a[3][4]; /*3×4的矩阵,共12个元素*/
float f[5][10];
以上和一维数组相似,定义了一组变量,只不过这些变量有行和列的排列。
如int a[3][4]的排列如下:
a[0][0] a[O][1] a[0][2] a[0][3]
a[1][0] a[l][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
以上是便于理解和引用的逻辑排列结构,在计算机的内存中,其物理存储结构会因为不同系统而不同。
在C语言中,二维数组是按行排列的。即在内存中按顺序存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中的元素也是依次存放。如第一行最后一个元素a[0][N-1]紧邻第二行第一个元素a[1][0]。