回調函數

所謂回調函數,比較拗口的說法是:被調用的函數調用調用者提供的函數指針。

這種函數形式可以應對被調用函數無法在細節上(比如說參數類型)完成某項同意義的功能的情況(還是很拗口)

簡單的例子:

調用一個排序程序A (A爲被調用函數),但是A不知道我們想要排序的是int,float,還是char,甚至是其他類型的數據?換言之,A不知道在給了我們兩個某類型的數據之後如何判斷他們的大小,如果針對每種數據的每個情況編寫一下,是一件很頭疼的事情,於是,我們提供給A一個接口函數C,這個C提供的是個兩個輸入數據的比較大小的功能,就是說:在我們調用排序函數時,肯定知道需要比較的數據時什麼類型,並且大小比較的邏輯我們是清楚的,所以由調用者實現大小比較的功能給被調用函數調用,從而實現所謂的回調過程,當然,提供給A的是C的指針地址,C的函數聲明需要聲明爲 CALL BACK(FAR PASCAL)類型。

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