回调函数

    技术2022-05-11  92

    回调的使用基本方法与原理

    设回调函数为A()(这是最简单的情况,不带参数,但实际情况常常很会复杂),使用回调函数的操作函数为B(), B函数是需要参数的,这个参数就是指向函数A的地址变量。这个变量一般就是函数指针。使用方法为:int A(char *p); // 回调函数 typedef int(*CallBack)(char *p) ; // 声明CallBack 类型的函数指针 CallBack myCallBack ; // 声明函数指针变量myCallBack = A; // 得到了函数A的地址

     

    B函数一般会写为 B(CallBack lpCall,char * P,........); // 此处省略了p后的参数形式 所以回调机制可解为,函数B 要完成一定功能,但他自己是无法实现全部功能的。需要借助于函数A来完成,也就是回调函数 B的实现为 B(CallBack lpCall,char *pProvide){ ........... // B 的自己实现功能语句 lpCall(PpProvide); // 借助回调完成的功能 ,也就是A函数来处理的。  .......... // B 的自己实现功能语句}

    // -------------- 使用例子 -------------char *p = "hello!";CallBack myCallBack ; myCallBack = A ;B(A, p);


    最新回复(0)