回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
#include <stdio.h>typedef void (*MYFUNC)(char *);void do_demo(MYFUNC callback, void *content){if (callback != NULL){ callback((char *)content);}}void print(char *data){printf("%s\n", data);}int main(int argc, char *argv[]){char str[] = "Hello World";do_demo(print, str);return 0;}