#include <stdio.h>
int main () {
int a[3][2]={{1,6},{9,12},{61,12}};
int (*p)[2];//指针一次移动2个元素
p=a;//p=&a[0][0]
printf("%p %p\n",a,a+1);
printf("%p %p\n",p,p+1);//指针加一移动了两个元素
printf("%p %p\n",*(p+1),*(p+1)+1);//行指针变为一维指针,加1移动一个元素
printf("%d %d %d %d\n",a[1][1],p[1][1],*(*(a+1)+1),*(*(p+1)+1));//*(a+1)和*(p+1)改变了指针的性质,从行指针变为一级指针
printf("%d %d\n",*(*(a+1)),*(*(p+1)));//最外圈的*表示取值,内圈的*改变指针性质
//遍历整个二维数组
int i,j;
for(i=0;i<3;i++){
for(j=0;j<2;j++)
printf("%d %d %d %d ",a[i][j],p[i][j],*(*(a+i)+j),*(*(p+i)+j));
puts("");//输出一行之后再换行
}
return 0;
}