โดยพื้นฐานแล้วการเรียกกลับนั้นเป็นโค้ดที่สามารถเรียกใช้งานได้ซึ่งส่งผ่านเป็นอาร์กิวเมนต์ไปยังโค้ดอื่น ๆ ซึ่งคาดว่าจะโทรกลับหรือดำเนินการอาร์กิวเมนต์ในเวลาที่กำหนด เราสามารถกำหนดมันในคำอื่น ๆ เช่นนี้:หากการอ้างอิงของฟังก์ชันถูกส่งไปยังอาร์กิวเมนต์ของฟังก์ชันอื่นสำหรับการเรียก ฟังก์ชันจะเรียกว่าฟังก์ชันเรียกกลับ
ใน C เราต้องใช้ตัวชี้ฟังก์ชันเพื่อเรียกฟังก์ชันเรียกกลับ รหัสต่อไปนี้แสดงให้เห็นว่าฟังก์ชันการโทรกลับทำงานอย่างไร
โค้ดตัวอย่าง
#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)(); //calling the callback function
}
main() {
void (*ptr)() = &my_function;
my_callback_function(ptr);
} ผลลัพธ์
This is callback function. This is a normal function.