用C语言写一个“事件”的模拟程序

源:用C语言写一个“事件”的模拟程序

Example.c 

//定义一个函数指针
func int (*func) (void);  

//调用该函数相当于触发了事件。 
//该事件触发后,会检查函数指针func是否为NULL,如果不为NULL,说明该指针已被赋值(相当于该事件被注册)。 
//如果事件已被注册,则执行之。 
void fireTheEvent()
{
  if(func != NULL)
  {
      func();
  }
}  

void registerTheEvent(int (*function) (void))
{  //为fireTheEvent事件注册监听器。
  func = function;
}  

int callBack()
{
  printf("Hello~this is a callBack\n");
}  

int main()
{
  registerTheEvent(add);//注册事件监听,回调函数为 callBack。
  fireTheEvent(); //触发事件。由于已注册过监听,所以事件一旦触发就会调用 callBack 函数.
}

 

posted @ 2015-04-16 12:14  酒醉的Tiger  阅读(907)  评论(0编辑  收藏  举报