在 C 中,您能否将具有可变数量参数的函数作为参数传递给另一个函数?

标签 c

与[问题]相关:How do you pass a function as a parameter in C?

在 C 中是否可以将参数数量可变的函数传递给另一个函数?如果是这样,有人可以指点我一些文件或填写我吗?谢谢。

最佳答案

您不能将(任何类型的)函数作为参数传递,但可以将指针 传递给函数(同样,几乎任何类型的函数)。使用 typedef 通常最简单:

typedef int (*fptr)(char const *, ...); // e.g., match with `printf`

int apply(fptr f, char const *a, int b) { 
    return f(a, b);
}

关于在 C 中,您能否将具有可变数量参数的函数作为参数传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866953/

相关文章:

一个像素可以分成更小的像素吗?或者是否可以使用 1.54 像素而不是 1 或 2?

c - 使用周期计数计算吞吐量

c - c中除法的奇怪结果

c - 链表递归函数中的malloc和free

c# - TestDriven.NET 和 native C 库

c - 如何在 Visual Studio 代码中添加 gtk 库?

c - 你如何在 C 中移动数组的起始索引?

c - 如何用GTK Webkit和WebkitWebView下载

c - 为什么在使用赋值运算符时,在 else 部分的 if-else 中需要简写左值?

c - 从尾部删除时将元素添加到数组的头部