函数指针用法:

1)函数指针用于存放函数的入口地址。

定义格式:<数据类型>  ( *<函数指针名> )  ( <参数类型表>);

eg:

int (*fp) ( int, int ); //定义函数指针fp,它指向具有两个整形参数且返回值为整形//的函数。

int max( int, int ); //一个函数声明

fp=max; //将函数max的入口地址赋给指针变量fp,max和fp均指向函数入口。

c=fp( a, b);  //通过fp调用max函数。

2)  函数指针可以作为参数,作为公用接口。

eg:

#include <iostream>

using namespace std;

int main()

{

       //原型声明

       int max(int,int), min(int,int), sum(int,int);

       int proc(int,int,int(*)(int,int));

       int a,b;

       cout<<"enter a and b:"<<endl;

       cin>>a>>b;

       //三次调用分别传递不同的函数入口

       cout<<"max="<<proc(a,b,max)<<'\t'; 

       cout<<"min="<<proc(a,b,min)<<'\t'; 

       cout<<"sum="<<proc(a,b,sum)<<endl; 

       return 0;

}

int proc(int x,int y,int(*fp)(int,int))

{

       return fp(x,y);

}

int max(int x,int y)

{

       return x>y ? x:y;

}

int min(int x,int y)

{

       return x<y ? x:y;

}

int sum(int x,int y)

{

       return x+y;

}

posted on 2015-08-17 13:27  惊呆!  阅读(532)  评论(0编辑  收藏  举报