-
例如:
-
int a[3][4]={{1,2,4,5},{3,2,9,6},{8,7,5,4}};
-
代码说明:数组被初始化如下的数据:
-
a[0][0] =1 a[0][1] = 2 a[0][2] = 4 a[0][3]=5
-
a[1][0] = 3 a[1][1] = 2 a[1][2]=9 a[1][3]=6
-
a[2][0] = 8 a[2][1] = 7 a[2][2]=5 a[2][3]=4
-
再者:
-
a+1 = a[行加1][0]
-
a+2 =a[行加2][0]以此类推
-
对二维数组初始化时注意以下几点:
-
1.对部分元素赋值,其余元素值为0;
-
例:int a[3][4] ={{1,2,3},{1,2}}实质等于:
-
a[3][4] = {{1,2,3,0},{1,2,0,0},{0,0,0,0}};
-
2.行长度可以神虐,但列不能省。
a.多维数组元素个数=各维度的乘积。
b.二维数组可以看做一维数组。例如:
int a[2][3]={1,2,3,4,5};可以看作a[0]={1,2,3},a[1]={4,5,0},这样就把二维数组看成了一维数组。
这儿想到了指针数组,若int *b[2]; b[0]=&a[0],表示b[0]={1,2,3}或者将指针数组改成数组指针:
int (*b)[2]=a;b[0] = {1,2,3}