[求助]一个关于指向多维数组的指针和指针变量的问题
main()int a[2][2]={1,2},{3,4};
int(*p)[2],i,j;
p=a;
i=1;
j=1;
printf("a[%d,%d]=%d\n",i,j,*((*p+i)+j));
}
输出为a[1,1]=4
红色的代码行清楚,不是说(*(p+i)+j)表示的就是数组第i行第j列元素的值吗,怎么还用个*((*p+i)+j)来表示,不懂???
这两个等价吗?
p[i][j]应该和*(*(p+i)+j)等价吧