在C語言中,回調函數(callback)是一種函數指針,可以作為參數傳遞給其他函數,這樣在調用該函數時,可以執行傳遞的回調函數。下面是一個簡單的示例,展示了如何使用回調函數:
首先,定義一個回調函數的原型。這個原型應該與你想要傳遞的回調函數的簽名相匹配。
typedef void (*callback_function)(int);
然后,在需要使用回調函數的地方,可以聲明一個接受回調函數作為參數的函數。
void perform_operation(int data, callback_function callback) {
// 執行一些操作
// ...
// 調用回調函數
callback(data);
}
接下來,你可以定義一個具體的回調函數,以便在需要時進行調用。
void my_callback(int data) {
printf("回調函數被調用,數據為:%d\n", data);
}
最后,你可以使用上述定義的函數和回調函數來執行操作并調用回調函數。
int main() {
int data = 10;
perform_operation(data, my_callback);
return 0;
}
在上述示例中,perform_operation
函數接受一個整數參數和一個回調函數作為參數。在函數執行期間,它會調用傳遞的回調函數,將傳遞的整數參數作為回調函數的參數。在main
函數中,我們傳遞了一個名為my_callback
的回調函數作為參數,它會在perform_operation
函數內部被調用。
注意,回調函數的類型應與函數指針的類型匹配,以確保參數和返回值的一致性。