有如下一段程序: int f1(float); int f2(char); int f3(float); int f4(float); int (*pf)(float); 则以下不合法的是:() int (*p)(float)=&f1; pf=&f4; pf=&f2; pf=f3;
int f1(float); int f2(char); int f3(float); int f4(float); int (*pf)(float);
C
知识点:
函数指针变量:
函数指针变量的声明方法为:
返回值类型 ( * 指针变量名) ([形参列表]); 根据定义,
int(*pf)(float); int
(*p)(float)=&f1; pf,p都是函数指针变量。
函数地址
C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。 函数地址的获取,可以是函数名,也可以在函数名前加取地址符&
C错误是因为函数行参类型不匹配。