c回調函數是什麼意思?回調函數其實不是C語言特有的,其它語言也有回調函數,我來為大家講解一下關于c回調函數是什麼意思?跟着小編一起來看一看吧!
回調函數其實不是C語言特有的,其它語言也有回調函數。
書上對回調函數一般的解釋是 回調函數是好萊塢模式:Don't call me,I will call you。
這句話就給人帶來誤解,因為這句話是站在回調函數的調用方說的,我們是回調函數的提供方,所以不好理解。
從回調函數的提供方來說,凡是你在代碼裡沒有寫調用語句調用的,而函數又會在某些情況下執行的函數,就叫回調函數。
舉個例子,
我們見的最多的回調函數就是main函數。
你的代碼裡有寫main函數的調用語句嗎?像這樣 main();
但是你一點運行,main函數就被執行了。對于你來說,main函數,就是回調函數。
那麼我們不禁要問,main函數是誰調用的呢?
其實是編譯器提供的庫函數調用的,它裡面寫了main函數的調用語句。在鍊接期間,把main函數,鍊接到程序裡。
對于庫函數來說,main函數就不是回調函數,因為main函數是它主動去調的。
還有一個例子是windows編程中,所有的事件處理函數。
比如按鈕的Click處理函數。
作為提供方,你隻是把Click函數放到那兒,什麼時候調用它,你控制不了。
是由操作系統控制的,當操作系統檢測到用戶點擊了該按鈕,就會去調用你寫的處理函數。
事件處理函數,對于你來說也是回調函數。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!