C語言中的回調函數理解

回調函數的實質其實就是把函數名當指針來傳遞

typedef void(* Back_Test)(uint8_t i);  //h文件中聲名

Back_Test back_test;

void Back_Registered(Back_Test bt){//回調函數註冊

 back_test = bt;

}

void User_Use(uint8_t k){//用戶註冊的回調,在此處理用戶事件

printf("k = %d",k);//打印庫回調中傳回來的參數

}

void main(void){

 

Back_Registered(User_Use);//main中註冊回去函數

}

void key_init(viod){//假如庫有按鍵中斷產生

back_test(3); 通過這裏把事件和數據傳到用戶層

}

上面是一段演示代碼,最大的作用就是在封裝庫文件的時候很方便,用戶不用知道庫文件怎麼實現的,只接收事件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章