函数指针的作用和好处相信很多同学都知道和有体会,但是如果不是常有的话,很难记住函数指针的语法定义。 下面说一下我从一本书上介绍的一个方法:
这个方法十分容易记忆和理解。
比如说要定义一个函数
int fun(double d) 定义了一个参数为double类型,返回值为int类型的函数fun
如果要定义一个函数指针,该指针指向一个函数以double类型为参数,返回值为int类型的,怎么办呢?
只要用 (*pf ) 代替 fun 就可以了, pf为函数指针的名字,
int (*pf) (double d)
注意千万不能漏掉 括号,否则* 的优先级就高,定义就变成了 一个函数,参数为double类型的,返回的指向int的指针了。
如何调用函数指针
可以直接调用
pf(10.1)
也可以
(*pf)(10.1) ; pf为函数指针,*of就是取值,也就是得到函数名。
以上两种方法都可以。。
如何定义函数指针数组, 直接用数组符号[]
int (*pf[3]) (double d)
那么pf 就是一个数组名字,数组的成员是函数指针。 调用的方式是
pf[1](10.1)
(*pf[1])(10.1)