关键点是要定义一个所需的回调函数类型,之后就可以像使用其他的类型定义一样方便地使用和定义回调函数,简单示例如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef void (*callback)(int code, char *msg);
callback g_callback;
void callback_fun(int code, char *msg)
{
printf("[%d]%s.", code, msg);
}
int fun(callback cb, int code, char *msg)
{
g_callback = cb;
g_callback(code, msg);
}
int main()
{
int code = 10;
char *msg = "hello world";
callback cb;
cb = callback_fun;
fun(cb, code, msg);
return 0;
}
代码执行结果: