欢迎来到天天文库
浏览记录
ID:51687180
大小:35.45 KB
页数:2页
时间:2020-03-15
《C语言回调函数讲解.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、回调函数一、什么是回调函数?回调函数就是函数指针的一种用法!使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。二、回调函数怎么开发?怎么使用?回调函数是一个程序员不能显式调用的函数,要想使用就必须先定义函数指针!Forexample,voidfun();/*声明一个函数原型*/void(*fun)();/*声明一个函数指
2、针*/获取一个函数指针大小的方法:unsignedpsize=sizeof(void(*)());为函数指针声明类型定义:typedefvoid(*pfun)();三、回调函数的作用,应在什么情况下使用?void(*p)();//p是指向某函数的指针有了指针变量便可以赋值,值的内容是署名匹配的函数名和返回类型。Forexamplevoid func() { /* do something */ } p = func; p的赋值可以不同,但一定要是函数的地址,并且署名和返回类型相同。传递回调函数的
3、地址给调用者。 现在可以将p传递给另一个函数(调用者)- caller(),它将调用p指向的函数,而此函数名是未知的: void caller(void(*ptr)()) { ptr(); /* 调用ptr指向的函数 */ } void func(); int main() { p = func; caller(p); /* 传递函数地址到调用者 */ }
此文档下载收益归作者所有