1,回调函数类型定义
#include <stdio.h>// 定义回调函数类型
typedef void (*CallbackFunction)(int);
2,定义注册和调用回调函数的函数
// 存储回调函数的数组
CallbackFunction callbacks[10];
int callback_count = 0;// 注册回调函数
void register_callback(CallbackFunction callback) {if (callback_count >= 10) {printf("Callback array is full\n");return;}callbacks[callback_count++] = callback;
}// 调用所有已注册的回调函数
void invoke_callbacks(int value) {for (int i = 0; i < callback_count; i++) {callbacks[i](value);}
}
3,定义具体的回调函数
// 具体的回调函数
void callback1(int value) {printf("Callback 1 called with value: %d\n", value);
}void callback2(int value) {printf("Callback 2 called with value: %d\n", value);
}void callback3(int value) {printf("Callback 3 called with value: %d\n", value);
}
4,主函数示例
int main() {// 注册回调函数register_callback(callback1);register_callback(callback2);register_callback(callback3);// 调用所有已注册的回调函数invoke_callbacks(42);return 0;
}