如何用指向函数的指针变量调用函数?
下面的例子,不用指针方法来实现
int max(int x, int y)
{
return x > y ? x : y;
}
int main(void)
{
int a, b, c;
cin >> a >> b;
c = max(a, b);
cout << c << endl;
}
c=max(a,b);
是一般的调用方法
输入4 6
,输出6
int max(int x, int y)
{
return x > y ? x : y;
}
int main(void)
{
int a, b, c, max(int, int);
int (*p)(int, int);
p = max;
cin >> a >> b;
c = p(a, b);
cout << c << endl;
}
int (*p)(int, int);
定义指向函数的指针变量
p=max;
给指针变量赋值
c=p(a,b);
通过指针变量调用
实际上就是用p替换函数名,如果把p = max;
去掉,那么c = p(a, b);
改成c = max(a, b);
即可。