问题及代码:
/*如何理解二维数组,
例a[3][4],3行4列*/
/*行*/
a; //数组首地址,0行地址
a+1; //第1行
a+2; //第2行
//二维数组即将a看成是三个 元素,每个元素都是数组
a[0]=*a; //第0行第0列地址
a[1]=*(a+1); //第1行第0列地址
a[2]=*(a+2); //第2行第0列地址;
//列的每个元素地址
a[0]+i; //第0行第i列地址
*(a+0)+i;
a[1]+i; //第1行第i列地址
*(a+1)+i;
a[2]+i;
*(a+2)+i;
&a[i]; //行地址
&a[i][0]; // i行0列
/*二维数组元素的地址表示 */
&a[1][2];
a[1]+2;
*(a+1)+2;
&a[0][0]+(i*n+j) ; //i行,每个a[i] 有n个元素,j列;
/*二维数组值*/
a[1][2];
*(a[1]+2);