一.普通指针
int a[10]={};
int *p=a;
int *p=a中的右侧的a相当于&a[0],指针p指向数组a的第一个元素。
二.指针数组
int *a[10];
int **p=a;
p是指向指针数组a的指针,a是指针数组,其中元素是int* 指针,所以p的类型是int **。
三.数组指针
int a[10]={};
int (*p)[10]=&a;
数组指针是指向数组的指针,p+1移位4*10个字节,多用于二维数组,类似于
int a[3][10]={};
int (*p)[10]=&a;
int (*p)[10]=&a;==int (*p)[10]=&a[0];
p+1也是移位4*10个字节,移到a[1]