下面为一个演示函数,主函数中将函数指针传入中间函数,然后中间函数调用指向的函数
#include<stdio.h>
int callback_1(void) //回调函数1主体
{
printf("call_1\n");
return 0;
};
int callback_2(void) //回调函数2主体
{
printf("call_2\n");
return 0;
};
//定义一个处理函数,传入的是函数指针
int Handle(int (*callback)(void))
{
//回调函数
callback();
}
int main()
{
//定义两个函数指针来指向函数地址
//不定义也可以,因为函数名称本身就是函数入口地址
int (*call1)(void)=&callback_1;
int (*call2)(void)=&callback_2;
Handle(call1);
Handle(call2);
//改变函数指针指向
call1=&callback_2;
Handle(call1);
return 0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。