C Snippet——C语言中用回调函数模仿C#中的事件

C语言中用回调函数模仿C#中的事件

 1 #include <stdio.h>
 2 void (*func) (void); //定义一个函数指针func
 3 
 4 //调用该函数相当于触发了事件。
 5 //该事件触发后,会检查函数指针func是否为NULL,如果不为NULL,说明该指针已被赋值(相当于该事件被注册)。
 6 //如果事件已被注册,则执行之。
 7 extern void fireTheEvent()
 8 {
 9     if(func != NULL)
10     {
11         func();
12     }
13 }
14 
15 extern void registerTheEvent(void (*function) (void))  //为fireTheEvent事件注册监听器。
16 {
17     func = function;
18 }
19 
20 extern void callBack(void)
21 {
22     printf("Hello, this is an event\n");
23 }

 

posted @ 2020-10-13 23:06  青蛙Frog1228  阅读(190)  评论(0编辑  收藏  举报