C语言实现回调函数标准方式

发布时间 2023-04-18 18:38:40作者: wjwdive
#include <iostream>
#define OFFSET 1000
using namespace::std;

int buttonId;
//定义回调函数的类型  【注意,这里只是用type定义,回调函数一般是作为另一个函数的形式参数的,只注重类型,而调用的时候需要具体实现】
typedef void (* someCallback)(int);

//回调函数的具体实现
void printCallBackId(int cbId) {
    printf("callback id %d \n", cbId);
}

//回调函数的主函数
void setSomeCallback(int offset, someCallback callback) {
    printf("回调执行一次 %d .", offset);
}

void setSomeCallbacks() {
    for (int i = 0; i < 10; ++i) {
        buttonId = i;
        printCallBackId(i);
    }
}

int main(int argc, const char * argv[]) {
    // insert code here...
    cout << "C语言block !!\n";
    setSomeCallbacks();
    return 0;
}