当前位置:首页 > 技术 > C/C++ > 正文内容

关于C语言中回调函数的学习

watrt11个月前 (09-16)C/C++610

先上学习代码:

#include "stdio.h"

int my_cb1(int x){
    x++;
    printf("my_cb1执行了,x:%d\n",x);
    x++;
    return x;
}
void run_cb1(int (* mycb)(int),int x){
    int y;
    y=(* my_cb1)(x);
    printf("my_cb1调用完了 Y:%d\n",y);
}

void my_cb(void){
    printf("my_cb执行了\n");
}
void run_cb(void (* mycb)(void)){
    (* my_cb)();
    printf("my_cb调用完了\n");
}
int main(int argc, char const *argv[])
{
    run_cb(my_cb);
    run_cb1(my_cb1,4);
    return 0;
}

共四个函数:一个是回调,一个是运行回调,一个是没有参数一个是有参数。

运行函数的参数必须与传递的函数一致,否则会出错。同样的回可返回。运行函数可以在第二参数后面添加上要带到回调的参数。这样实现回调时可以传参。

相关文章

变量指向函数。2年前 (2018-04-20)
C++ 传入运行参数代码3年前 (2018-01-19)

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。