int a[][3]={{0,1},{2,3},{4,5}};
int *p;
p=a;
其输出是报警告
warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
这里的a是行地址a+1则加了8个字节,而p如果+1才加4个字节
如果可以用以下代码
#include <stdio.h>
int main()
{
int a[][3]={{0,1},{2,3},{4,5}};
int (*p)[3];
p=a; //p=&a[0];
printf("p[1][1]=%d\n",p[1][1]);
printf("p[0][1]=%d\n",(*p)[0]);
}
结果
p[1][1]=3
p[0][1]=0