函数指针:即指向函数的指针。
用法示例如下:
int myadd(int a, int b)
{
return a + b;
}
int mysub(int a , int b)
{
return a - b;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a = 2, b = 1, c, d;
int (*myfun1)(int, int) = myadd;
int (*myfun2)(int, int) = mysub;
c = (*myfun1)(a, b);
d = (*myfun2)(a, b);
cout<< "c = "<<c<<endl;
cout<< "d = "<<d<<endl;
return 0;
}
函数指针的声明较长,可以使用typedef来简化:
typedef int(*MYFUN)(int, int);
这样,该类型的函数指针(输入、输出参数皆相同)都可以用MYFUN来声明:
MYFUN myFun[2] = {myadd, mysub};
c = myFun[0](a, b);
d = myFun[1](a, b);
以上即为函数指针的简单示例。