C语言中的函数指针有两个比较常用的例子:
1. 回调函数
2. 转移表
1.回调函数
把指向函数的指针传递给第二个函数作为参数,那么第一个函数就叫做回调函数。
作用:
- 对具有相同参数类型的一系列函数的统一管理入口;
- 定时器:对无法修改的函数的调用(比如系统函数Timer()),我们可以定义一个指向需要执行定时功能的函数的函数指针作为Timer()的参数。
2.转移表
转移表就是一个函数指针数组。
eg:
double add(double,double);
double sub(double,double);
double mul(double,double);
double div(double,double);
....
double (*zhuanyibiao[])(double,double)={add,sub,mul,div};
/* 此处省略n行代码 */
// oper是操作符代表的整型代码,op1,op2为输入的操作数
double result=zhuanyibiao[oper](op1,op2);