对C语言回调函数的一点感悟

2019-07-14 10:04发布

先来看个回调函数的例子: #include typedef void(*pcb)(char *); void GetCallBack(pcb callback,char* s) { printf(" getCallBack"); callback(s); } void fCallback(char *s) { printf(" this is %s-0",s); } void fCallback1(char *s){ printf(" this is %s-1",s); } int main(){ GetCallBack(fCallback,"fCallBack"); GetCallBack(fCallback1,"fCallBack"); }
结果如下:

getCallBack函数是调用者,那么它将不关心被调用者,也即是传入其中的函数fCallBack的具体实现,这样就巧妙的实现了调用者和被调用者的分离