函数指针为指向函数的指针,可以像使用函数那样使用指针。
例如:
double(*pf)(int);//声明函数指针时只需要将函数名替换为指针就行。
pf为指向返回类型为double,参数为int的指针。
使用函数指针
例如有函数
double a(int);
pf=a//初始化指针指向函数a
则可以使用double x=pf(4)或double x=(*pf)(4);
两种方法都行都表示函数的返回值。
double (*pf[3])(int)
pf[3]为函数指针数组,每个元素都是指向函数的指针。
可以使用typedef为函数指针指定一个别名:
typedef 返回类型 别名(函数参数)
这样可以使用别名来定义函数指针。
#include<iostream>
using namespace std;
int sum(int a,int b)
{
return a+b;
}
int main()
{
typedef int SUM(int,int);//或typedef int (*SUM)(int,int)
SUM *p;
p=sum;
cout<<p(3,2);
}