嵌入式之函数指针和回调函数
概念
函数指针即指向函数的指针
通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。
函数指针可以像一般函数一样,用于调用函数、传递参数。
函数指针的定义方式为:
函数返回值类型 (* 指针变量名) (函数参数列表);
int (*p)(int a, int b)
作用
一是可以作为参数传递给另一个函数;回调函数:将一个函数指针作为参数传递给其它函数。后者将“回调”用户函数。
关于typedef 函数指针的用法
int add(int a, int b) { return a + b; } typedef int (PTypeFun1)(int, int); // 声明一个函数类型 typedef int (*PTypeFun2)(int, int); // 声明一个函数指针类型 PtypeFun2变成了类型 int (*padd)(int, int); // 传统形式,定义一个函数指针变量 ,这里只是一个指针 int main() { PTypeFun1 *pTypeAdd1 = add; PTypeFun2 pTypeAdd2 = add; padd = add; cout << pTypeAdd1(1, 2) << endl; cout << pTypeAdd2(1, 2) << endl; cout << padd(1, 2) << endl; return 0;
实例: 函数指针
本文作者:学不会xuebuhui
本文链接:https://www.cnblogs.com/codedingzhen/p/18047145
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步