先来看个回调函数的例子:
#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的具体实现,这样就巧妙的实现了调用者和被调用者的分离