1.指针数组
int *p[10];
它是数组还是指针?(指针数组是数组,是一个存放指针的数组)。。
2.数组指针
数组指针是一个指针,这个指针是具有能力指向一个数组的!
int (*p)[10];
//p先和*结合,说明p是一个指针变量,然后指针指向的是一个大小为10个整形的数组,所以p是一个指针,指向一个数 组,叫做数组指针。
//[]的优先级要高于*,所以必须加上()来保证p先和*结合。
3.函数指针
void (*p) ();
这是个函数还是指针呢?要看变量先跟谁结合,我们可以看到p变量先跟*结合,说明这是个指针,是一个函数指针。
4.函数指针数组
int (*parr1[10]) ();
把函数的地址存放到一个数组中,那这个数组就叫做函数指针数组。
parri先跟[]结合,说明parr1是个数组,数组的内容是 int (*)()类型的函数指针。
5.指向函数指针数组的指针
void (*(*p)[10]) ();
指向函数指针数组的指针是一个指针,指针只想一个数组,数组的元素都是函数指针。