C++函数指针和函数指针调用

函数的类型

        一般表示函数类型的形式为:类型(形式参数表)

在C++中,可以用typedef定义函数类型名。函数类型名定义的一般形式为:

typedef 类型 函数类型名(形式参数表)

例如: typedef double functionType(double, double),函数类型名functionType定义了一类接口相同的函数抽象,即抽象了两个double参数,返回double类型的一类函数。

函数指针

一般定义形式:

类型(*指针变量名)(形式参数表)

或 函数类型 * 指针变量名

例如对上述定义的functionType函数,定义指向这一类的函数指针变量,可以用说明语句:

double(*fp)(double,double)

或者 functionType * fp

注:这里第一个括号不能省略,若省略,double * fp(double,double),则会认为返回的是指针值,fp为函数名。

还可以用关键字typedef定义指针类型,例如:

typedef 类型 (*指针类型)(形式参数表)

或 typedef 函数类型 * 指针类型

例如:typedef double(*pType)(double,double)

        typedef functionType * pType

又如, pType pf1,pf2;定义了两个 pType类型的指针变量,分别指向不同函数

pf1 = max;pf2 = min;

用函数指针调用函数

(*指针变量名)(实参)

或 指针变量名(实参)

例如:fp = max;

          x = fp(0.5,3.9)等价于(*fp)(0.5,3.9)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值