1.用函数指针变量调用函数
- 指针变量可以指向一个函数;
- 一个函数在编译时被分配给一个入口地址,该地址称为函数的指针;
- 通过一个指针变量指向函数的方式可以调用该函数。
例:
int max(int x,int y);
int (*p)(int,int);
p=max;
例:求a和b中的大者
#include <iostream>
using namespace std;
int main( )
{int max(int x,int y); //函数声明
int a,b,m; cin>>a>>b; m=max(a,b); //调用函数max,求出最大值,赋给m
cout<<″max=″<<m<<endl;
return 0;
}
int max(int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return(z);
}
**
可用一个指针变量指向max函数,然后通过该指针变量调用此函数
- 例:
#include <iostream>
using namespace std;
int main( )
{int max(int x,int y); //函数声明
int (*p)(int,int); //定义指向函数的指针变量p
int a,b,m;
p=max; //使p指向函数
max cin>>a>>b;
m=p(a,b);
cout<<″max=″<<m<<endl;
return 0;
}
- 例:
2.用指向函数的指针作函数参数
- 函数指针变量常见的用途是作为函数参数,将函数名传给其他函数的形参。这样就可以在调用一个函数的过程中根据给定的不同实参调用不同的函数。
3.返回指针值的函数
- 返回指针值的函数称指针函数;
- 定义指针函数的一般形式: 类型名 *函数名( 参数表列 );
例:
int *a( int x,int y );