Callback là mã thực thi được truyền làm đối số cho mã khác, dự kiến sẽ gọi lại (call back) hoặc thực thi đối số đó tại thời điểm cho trước. Nói cách khác: nếu tham chiếu hàm được truyền cho đối số hàm khác để gọi, đó là callback function.
Trong C phải dùng con trỏ hàm để gọi callback. Mã sau minh họa:
Ví dụ
#include <stdio.h>
void my_function() {
printf("This is a normal function.");
}
void my_callback_function(void (*ptr)()) {
printf("This is callback function.\n");
(*ptr)(); // gọi callback function
}
int main() {
void (*ptr)() = &my_function;
my_callback_function(ptr);
return 0;
}
Kết quả
This is callback function. This is a normal function.