回调函数测试

#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;
}
*/

猜你喜欢

转载自blog.csdn.net/flyztek/article/details/73649928
今日推荐