一 定义
数组指针:数组指针是指向数组首元素的地址的指针,其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动);
指针数组:数组元素为指针的数组,其本质为数组。
二 举例
int a[3][4] 这个无需多说,就是一个二维数组。
int (*p)[4] 就相当于int p[ ][4],它就是一个二维数组的指针,可以指向一个第二维度为4的二维数组。
这里p就是一个数组指针。
而a就是这样的数组,因而下面是合法的。p=a;
int *p[3] 是指针数组。
说白了,就是定义了三个指针,分别为p[0],p[1],p[2]。可以将他们单独拿来使用。
int a1,a2,a3;
p[0]=&a1;
p[1]=&a2;
p[2]=&a3;