1. 用途
以目前理解來看,Callback函數最直接簡單的解釋是可以被其他函數作爲形參調用的函數。2. 實現
2.1 參考一個簡答的無返回值類型,無輸入參數的函數func
void func(void)
{
// do something..
}
2.2 定義一個函數指針pfv,無返回值類型無輸入參數
void (*pfunc)();
// 1,pfunc前面有個*號,則說明pfv是個指針
// 2,pfunc後面跟一對(),則說明這是個函數,pfunc是指向這個函數的指針
// 3,該函數不帶參數
// 4,函數類型爲void
// 由此,pfunc表示一個指向無參數且返回類型爲void的函數的指針
2.3 用typedef來定義一個類型,符合2.2描述的功能typedef void(*pfv)(void);
2.4設置觸發條件,調用該函數
void UseCallBackFunc(pfv func_CB)
{
// do something...
func_CB();
// do something...
}
void main(void)
{
UseCallBackFunc(func);
}