函数指针就是指向函数的指针变量
每个函数都有自己的地址
这个地址就是函数指针所指向的地址
入口地址就是函数指针所指向的地址
有了指向函数的指针变量之后就可以通过指针变量调用该函数
下面是我的一个小例子有具体说明,就是为了解释下函数指针指针,也是为了巩固复习
#include<iostream>
using namespace std;
double compute(double x,double y,double (*fp)(double, double));//声明函数
double add(double x,double y);
double sub(double x,double y);
double mul(double x,double y);
double compute(double x,double y,double (*fp)(double ,double)){ //函数指针传递到此处进行函数调用
double p;
cout<<(*fp)(x,y);
p=(*fp)(x,y);
return p;
}
double add(double a,double b ){
return a+b;
}
double sub(double a,double b){
return a-b;
}
double mul(double a,double b){
return a*b;
}
main(){
double a,b;
int c;
cin>>a;
cin>>b;
cin>>c;
double (*fp)(int); //声明函数指针
if(a!=0&&b!=0&&c!=0){ //条件选择判断
switch(c){ //进行选择计算方法
case 1:compute(a,b,add);break;
case 2:compute(a,b,sub);break;
case 3:compute(a,b,mul);break;
}
}else{
cout<<"error";
}
return 0;
}