有人能给我一个C语言回调函数的具体例子吗?

问题描述 投票:-2回答:1

在C中为学校项目编写队列库。我无法理解如何在main()中实现回调函数来测试库。有人能够提供这样做的一般步骤吗?

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

c callback
1个回答
0
投票

使用回调函数,您可以调用库,然后库会回调您,例如获取更多信息,要求继续进行某些计算或通知您一些进度。

那么回调函数的含义或外观取决于您的库想要做什么。

  • 使用指向函数的指针调用库函数f()
  • 库做了一些事情然后调用你的函数
  • 你做点什么然后回来
  • 您的库功能继续
  • 你的库函数最终会返回给你。

所以你必须编写你的回调函数,然后将函数指针传递给你的库,例如:

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

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

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

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

f(123, myCallBack);
© www.soinside.com 2019 - 2024. All rights reserved.