在GUI编程中,经常希望一个部件的状态改变能够引起另一个部件的注意,也就是实现部件之间的通信。传统的方法是采用回调函数。回调(callback)的本质是将一个预先定义的函数通过函数指针的方式传递给另一个函数,让它在合适的时候通过指针调用该函数。举一个简单的例子:
#include <stdio.h>
void clicked(int k)
{
printf("#%d: I'm clicked\n", k);
}
void kicked(int k)
{
printf("#%d: I'm kicked\n", k);
}
void callback(void(*pt) (int k), int k)
{
(*pt)(k);
}
int main()
{
for (