โดยพื้นฐานแล้วการเรียกกลับนั้นเป็นโค้ดที่สามารถเรียกใช้งานได้ซึ่งส่งผ่านเป็นอาร์กิวเมนต์ไปยังโค้ดอื่น ๆ ซึ่งคาดว่าจะโทรกลับหรือดำเนินการอาร์กิวเมนต์ในเวลาที่กำหนด เราสามารถกำหนดมันในคำอื่น ๆ เช่นนี้:หากการอ้างอิงของฟังก์ชันถูกส่งไปยังอาร์กิวเมนต์ของฟังก์ชันอื่นสำหรับการเรียก ฟังก์ชันจะเรียกว่าฟังก์ชันเรียกกลับ
ใน 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.