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 }