callback函数的工作机制:
把一段可以执行的代码作为参数传递给其他函数,这段可执行的代码会在某个时间点被调用执行
解耦合:
主程序将回调函数作为参数传递给库函数,只要改变传递给库函数的参数,就可以实现不同的功能,不需要改变库函数的功能。
库函数和主程序一般不属于一层或者一个模块,库函数是按照通用性设计的,不知道主程序会用什么样的函数处理;也就是说不能通过修改库函数调用普通函数的方式实现,那就需要通过参数传入不同的回调函数。
lab5.2代码:
linkable.c文件中定义SearchLinkTableNode函数作为Call-in函数接口。其中的Condition函数为Callback函数,作为参数传入。
menu.c中具体定义了Condition传递的参数,即SearchConditon函数,再传递到FindCmd函数中
091