一.区别指针函数重点强调函数,而函数指针重点强调指针。代码举例如下:
#include<stdio.h>
int *(*fun)();//函数指针
int *func(){ //指针函数
int a=2;
return &a;
}
void (*func11)();
void func1(){
printf("func1\n");
}
int *(*func22)(int a);
int *func2(int b){
int t=b;
return &t;
}
int main(){
int *p=func();//函数返回指针
int m=*p;
printf("m=%d\n",m);
fun=func; //有返回类型的不带参数的函数指针
m=*(*fun)();
printf("m=%d\n",m);
func11=func1;//没返回类型的不带参数的函数指针
(*func11)();//也可以写作 func11(); 但更倾向使用前一种
func22=func2; //有返回类型的带参数的函数指针
m=*(*func22)(22); // 也可以写作 m=*func22(22);
printf("m=%d\n",m);
}