先来看个回调函数的例子:
#include<stdio.h>
typedef void(*pcb)(char *);
void GetCallBack(pcb callback,char* s)
{
printf("\ngetCallBack");
callback(s);
}
void fCallback(char *s)
{
printf("\nthis is %s-0",s);
}
void fCallback1(char *s){
printf("\nthis is %s-1",s);
}
int main(){
GetCallBack(fCallback,"fCallBack");
GetCallBack(fCallback1,"fCallBack");
}
结果如下:
getCallBack函数是调用者,那么它将不关心被调用者,也即是传入其中的函数fCallBack的具体实现,这样就巧妙的实现了调用者和被调用者的分离