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

先来看个回调函数的例子:

#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的具体实现,这样就巧妙的实现了调用者和被调用者的分离

猜你喜欢

转载自blog.csdn.net/tiger1334/article/details/50506964