关于C语言中回调函数的学习
先上学习代码:
#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;
}共四个函数:一个是回调,一个是运行回调,一个是没有参数一个是有参数。
运行函数的参数必须与传递的函数一致,否则会出错。同样的回可返回。运行函数可以在第二参数后面添加上要带到回调的参数。这样实现回调时可以传参。


支付宝打赏
微信打赏 
