回调函数测试

来源:互联网 发布:淘宝脸部识别支付 编辑:程序博客网 时间:2024/06/07 10:59
#include <stdio.h>


//callback func
/*
void callback_func(){
    printf("-------callback func");
}


void testcall(void (*callback)()){
    callback();
}


int main(int argc, char* argv[]){
    testcall(callback_func);
    return 0;
}
*/






typedef void CALLBACK_FUNC(void);


void callback_func(){
    printf("-------callback func");
}


void testcall(CALLBACK_FUNC callback){
    callback();
}


int main(int argc, char* argv[]){
    CALLBACK_FUNC *FP = callback_func;  //CALLBACK_FUNC FP = callback_func; 错误
                                        //因为CALLBACK_FUNC FP是定义函数(相当于函数声明void FP(void);) 而不是函数指针变量
    testcall(FP);// testcall(callback_func) ----也可以
    return 0;
}






/*
typedef void (*CALLBACK_FUNC)(void);
static CALLBACK_FUNC pCallback = NULL;


void register_callbackfunc(CALLBACK_FUNC callback){
    pCallback = callback;
}


void callback_func(){
    printf("-------callback func");
}


void testcall(){
    pCallback();
}


int main(int argc, char* argv[]){
    CALLBACK_FUNC FP = callback_func;
    register_callbackfunc(FP);
    testcall();
    return 0;
}
*/