一、指针函数
指针函数:返回值为指针变量的函数
定义方法:int *a(int b,int c)
返回值为int型指针的函数。
二、函数指针
指针变量,指向函数起始地址。
定义方法:函数类型 (*指针变量名)(形参列表);
例:int (*a)(int b,int c)
该指针变量指向输入参数为int b与int c,返回值为int变量的函数。
函数指针和它指向的函数的参数个数和类型都应该是一致的;
函数指针的类型和函数的返回值类型也必须是一致的。
函数名即为指向函数的首地址,与数组一样。
因此,直接将函数名赋给函数指针即可。
使用(*a)(参数)来调用函数,a为函数指针;也可以使用a(参数)来调用。
对于数组,首地址+[ ],表示调用数组中的某一个。
对于函数,函数地址+(),表示调用该函数。
指针变量存放地址
函数指针的用处:用作函数回调
三、函数指针与函数指针类型
函数指针:int (*a)(int b,int c);
函数指针类型:typedef int (*a)(int b,int c);