回调函数
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的实践或者条件发生时由另外一方调用,用于对该事件或条件进行响应。
看个例子
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void print(const char* str) {
printf("%s", str);
}
void test(void (*p) (const char*)) {
printf("test\n");
p("This is a test");
}
int main() {
test(print);
getchar();
return 0;
}
这个例子中print函数就说回调函数,test在内部通过print函数的地址进行调用print函数。