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 đố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 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.