1.指向函数的指针类型
定义指向函数的指针类型:
// void 类型代表任意类型
typedef void (*FP)(void) ; //定义指向返回void类型,需要传入一个void类型参数的函数的指针类型
FP fp ; //定义变量fp
fp = Math.Sin ; //将变量fp赋值为Sin函数
// 调用函数指针的方法如下
void main()
{
fp();
(*fp)();
}
// 运用函数指针的很好的例子是:消息映射表
2.回调函数(call back)
本地给外地提供服务函数或者是回调函数,在不同模块间相互调用的时候,经常用到。其中,经常用到指向函数的指针。
Service(void (*fp)(void) , ……)
以上函数用到一个指向函数的指针,用于在外模块完成工作的时候调用。
外地在调用的时候,知道本地模块的接口,就是Service(),在该函数中,传入外地自己的一个函数。本地在完成该服务的时候,会调用外地的该函数,那么,就等同于通知了外地程序。
本文介绍了函数指针的基本概念及定义方式,并通过实例演示如何使用函数指针调用具体的函数。此外,还探讨了回调函数的应用场景及其在模块间通信中的作用。
1090

被折叠的 条评论
为什么被折叠?



