首先,声明函数指针的类型是这样声明的:
第二,函数名就是函数指针,如有如下函数
第三,实际例子:
第二,定义 runFunc 函数,这个函数的参数是一个函数指针,上面已经说过定义方法
runFunc 直接使用传过来的 函数指针 执行函数
第三,在 main 中将 add、sub 函数的指针(即 add、sub) 传进 runFunc
float (*pFunc)(float, float)
float 这个函数返回值的类型,pFunc 这个指针的名称,(float, float) 这个函数的参数列表。
第二,函数名就是函数指针,如有如下函数
void hello() {
printf("hello world!\n");
}
那 hello 就是这个函数的指针。
第三,实际例子:
#include <cstdio>
typedef float (*pFunc)(float, float)
float add(float in_f1, float in_f2) {
return in_f1 + in_f2;
}
float sub(float in_f1, float in_f2) {
return in_f1 - in_f2;
}
void runFunc(pFunc in_pFunc) {
float t_f1 = 10.f;
float t_f2 = 5.f;
float t_fResult = in_pFunc(t_f1, t_f2);
printf("t_fResult = %f", t_fResult);
}
void main() {
runFunc(add, t_f1, t_f2);
runFunc(sub, t_f1, t_f2);
}
首先,定义 add,sub 函数
第二,定义 runFunc 函数,这个函数的参数是一个函数指针,上面已经说过定义方法
runFunc 直接使用传过来的 函数指针 执行函数
第三,在 main 中将 add、sub 函数的指针(即 add、sub) 传进 runFunc