指针数组和数组指针、指针函数和函数指针
- 指针数组: int *p1[10];
存储指针的数组。即数组每一个元素为某一类型的指针。
- 数组指针: int (*p1)[10];
指向数组的指针。它是一个指针,它指向一个数组,数组在这里并没有名字,是个匿名数组。
- 指针函数
它是一个函数,函数返回值为某一类型的指针。
eg.
1 int *fun(); 2 int *p; 3 p = fun;
- 函数指针
函数的指针,它是一个指针,指向一个函数,即指向函数的指针。
eg.
1 int func(char *p1,char *p2) 2 { 3 printf("%s\n",p1); 4 } 5 6 int main() 7 { 8 int (*pf)(char *p1,char *p2); 9 pf = func; 10 (*pf)("aa","bb"); //输出结果为 aa 11 return 0; 12 }