c和c++回调函数

什么是回调函数

回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。

c中回调函数

回调函数主要结构有三部分组成:主函数、调用函数和被调函数。C语言中,被调函数通常以函数指针(指向对应函数的入口地址)的形式出现。

//定义回调函数
void PrintfText() 
{
    printf("Hello World!\n");
}
//定义实现回调函数的"调用函数"
// 参数为函数指针,无参数返回void
void CallPrintfText(void (*callfuct)())
{
    callfuct();
}
//实现函数回调
int main(int argc,char* argv[])
{
    CallPrintfText(PrintfText);
    return 0;
}

c++回调函数

如果试图直接使用C的成员函数作为回调函数将发生错误,因为普通的C成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C通过传递一个指向自身的指针给其成员函数从而实现程序函数可以访问C的数据成员。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×