数组指针 又称行指针 int (* p)[4]该语句是定义一个数组指针 ,指向含四个元素的一维数组,本质上是一个指针
指针数组 int * p[3]表示一个一维数组内含有三个指针变量 p,p + 1,p + 2
仔细看一下就会发现两者的区别
main(void){
int a[2][2] = {{1, 2}, {3, 4}};
int (* p)[2]; // 对应上面可以看做 a[2] = p ;也就数说 a[2] 就是一个指针
char * s[2] = {"hello", "world"};
p = a;
print("%d, %d, %d, %d\n", (*p)[0], (*p)[1],*(p + 1)[0], *(p + 1)[1]);//对应第三行代码
printf("%s%s\n", s[0], s[1]);
return 0;
}