开发者社区> 问答> 正文

怎样用函数指针写一个回调函数呢?

怎样用函数指针写一个回调函数呢?

展开
收起
游客3gzok77e677xw 2022-03-29 22:55:48 331 0
1 条回答
写回答
取消 提交回答
  • 下面为一个演示函数,主函数中将函数指针传入中间函数,然后中间函数调用指向的函数

    #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;
    }
    
    
    2022-03-29 23:02:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多