void main()
{
int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
int i,j;
int (*p)[4];//p的维数必须与数组m的第二维一样
int * q[3];
p=m;
printf("数组指针输出元素:\n");
printf("(一):\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%3d",*(*(p+i)+j));//*(*(p+i)+j)相当于p[i][j]
/*二维指针加一个*相当于变成一维指针*/
printf("\n");
}
printf("(二):\n");
for(i=0;i<3;i++,p++)
{
printf("%3d",**p);
printf("%3d",*(*p+1));
printf("%3d",*(*p+2));
printf("%3d",*(*p+3));
printf("\n");
}
for(i=0;i<3;i++)
q[i]=m[i];
printf("数组指针输出元素:\n");
printf("(一):\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%3d",q[i][j]);
printf("\n");
}
printf("(二):\n");
q[0]=m[0];
for(i=0;i<3;i++,p++)
{
for(j=0;j<4;j++)
printf("%3d",*(q[0]+j+4*i));
printf("\n");
}
}