指针变量也可以指向一个函数。一个函数在编译时被分配一个入口地址,这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。
1. 指向函数的指针变量的一般定义形式为:
函数类型 (*变量名)(函数形参表)
2. #include
3. using namespace std;
4. int main()
5. {
int max(int x,int y);
int (*p) (int,int);
int a,b,m;
p=max; //使p指向函数max
cin>>a>>b;
m=p(a,b);
cout<<”max=”<<m<<endl;
return 0;
}
int max(int x,int y)
{
int z;
z=(x>y)?x:y
return z;
}
注意在定义指向函数的指针变量时,(*p)两侧的括号不可省略,表示p先与*结合,它是指针变量,然后再与后面的()结合,表示此指针变量指向函数,这个函数值(即函数返回值)是整型的。如果写成int *p(int x,int y),则由于()优先级高于*,它就成了声明一个函数了(这个函数的返回值是指向整型变量的指针),定义指针函数的一般形式为: 类型名 *函数名(参数表列)
例如:int *p(int x,int y)