在第一篇博客中提到了全新的程序框架,我们会大量的使用回调函数,其中包括枚举类型、结构体、函数指针的应用。
回调函数:就是一个通过函数指针调用的函数。如果你把函数的地址传递给中间函数的形参,中间函数通过函数指针调用其所指向的函数时,我们就说这是回调函数。如:
Fun1() //应用层
{
Fun2(Fun3); //Fun2中间层,Fun3回调函数
}
通俗点的解释:函数Fun1调用函数Fun2,同时将函数Fun3作为形参传递给Fun2,此时,Fun1为应用层函数,Fun2为中间层函数,Fun3为回调函数,回调函数是一种说法而已。当Fun2被调用时,Fun3也会被接着调用。
这样编程的意义在于:
利于代码结构,将代码分为应用层,中间层,硬件驱动层,彼此独立,方便程序的编辑,阅读,修改与移植;
结构化编程时,结构体只需要定义中间函数,减小内存的开销。
伪代码1
Fun1()
{
Fun2()
{
Fun3_1();
Fun3_2();
…………
}