2 函数指针变量

分析下列程序:

int f1(float);
int f2(char);
int f3(float);
int f4(float);
int (*pf) (float);

则以下不合法的是: C

A int (*p)(float) = &f1;

B pf = &f4;

C pf= &f2;

D pf = f3;

知识点:
函数指针变量:

函数指针变量的声明方法为:

返回值类型 ( * 指针变量名) ([形参列表]);
根据定义,

int(*pf)(float);
int (*p)(float)=&f1;
pf,p都是函数指针变量。
函数地址 C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。
函数地址的获取,可以是函数名,也可以在函数名前加取地址符& 。

C错误是因为函数行参类型不匹配。

函数指针所指向的函数,返回值类型,形参列表必须完全匹配,对函数指针赋值可以采用以下方式pf=&p1或者pf=p1 

拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
原文地址:https://www.cnblogs.com/dd2hm/p/7227393.html