天天看点

回调函数的例子

 #include

typedef void (*cbfun)(void);

myfun(cbfun fun)

{

int i;

for(i=0;i<10;i++)

{

fun();

}

}

void fun()

{

printf("printf from callback function!/n");

}

void main()

{

printf("printf from main function/n");

myfun(&fun);

printf("printf from main function/n");

}

第二个例子,带参数的。

#include

typedef void (*cbfun)(int);

myfun(cbfun fun)

{

int i;

for(i=0;i<10;i++)

{

fun(i);

}

}

void fun(int j)

{

printf("%d,printf from callback function!/n",j);

}

void main()

{

printf("printf from main function/n");

myfun(&fun);

printf("printf from main function/n");

}

ps:回调函数是用函数指针来实现的。通过指针告诉程序,你需要回调哪个函数。