有人可以给我C中回调函数的具体示例吗?

时间:2019-04-22 15:38:06

标签: c callback

用C为学校项目编写一个队列库。我在理解如何在main()中实现回调函数以测试库时遇到了麻烦。谁能提供执行此操作的一般步骤?

回调函数声明的语法是什么?

1 个答案:

答案 0 :(得分:0)

使用回调函数,您先调用库,然后再调用该库,例如,有关更多信息,要求进行一些计算或将某些进展告知您。

所以回调函数的外观或外观取决于您的库想要做什么。

  • 使用指向函数的指针来调用您的库函数f()
  • 图书馆做一些事情,然后调用您的函数
  • 您做点事然后返回
  • 您的库功能继续
  • 您的库函数终于返回给您。

因此,您必须编写回调函数,然后将函数指针传递给您的库,例如:

int f(int prm1, int (*g)(void));

这将您的库函数f定义为具有两个参数,一个int和指向不带任何参数并返回int的函数的指针。现在编写函数:

int myCallBack(void)
{
    // do something
    return 1;
}

现在您可以调用您的库函数f

f(123, myCallBack);