参考:http://blog.csdn.net/callmeback/article/details/4242260
1.什么是回调函数
回调函数就是一个被作为参数传递的函数。
被调用函数。
函数指针,并进行回调。
2.回调函数的例子
#include <stdio.h> void printWelcome(int len) { printf("welcome\n", len); } void printGoodbye(int len) { printf("goodbye%d\n", len); } void callback(int times, void (* print)(int)) { int i; for (i = 0; i < times; ++i) { print(i); } printf("I am in callback function!\n\n"); } void main(void) { callback(10, printWelcome); callback(10, printGoodbye); printWelcome(5); }
3.递归函数
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。
4.可重入函数
可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的