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 }
相關文章
相關標籤/搜索