C语言用数组指针表示二维数组中的全部元素,并写出过程推理?

如题所述

#include<stdio.h>

int main()

{

int a[4][3]={{1,2,3},{4,5,6},{7,8,9}};

int (*p)[3]=a;//定义一个指针变量并指向二维数组a的首地址;

printf("%d\n",*(*(p+1)+2));//等价于a[1][2],p[1][2]==6;

for(int i=0;i<3;i++)

for(int j=0;j<3;j++)//输入行循环列循环输出所有元素

{

printf("%d ",*(*(p+i)+j));//等价于a[i][j],p[i][j]

if(j==2)

printf("\n");  

}

return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答