c - 如何将函数指针传递给具有可变参数的函数?

标签 c function-pointers

我不知道怎么办!
如何获取va_list参数中的函数指针?
非常感谢。

最佳答案

Typedef 通常使使用函数指针更容易,但这不是必需的。

#include <stdarg.h>
void foo(int count, ...) {
    va_list ap;
    int i;
    va_start(ap, count);
    for (i = 0; i < count; i++) {
        void (*bar)() = va_arg(ap, void (*)());
        (*bar)();
    }
    va_end(ap);
}

关于c - 如何将函数指针传递给具有可变参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1596476/

相关文章:

c++ - 将地址分配给指向指针的指针会产生段错误

c - C 中 NULL 比较的错误

java - 必须在 GetStringUTFChars 之后调用 ReleaseStringUTFChars(将 char* 传递给 C 函数时)?

C - 套接字无法连接到 SMTP 服务器

编译 glibc :/glibc-2. 7/w/elf/ld.so: 没有那个文件或目录

c++ - 使用 void 指针从 c 函数调用模板化成员

c++ - 一个函数指针,指向一个函数,该函数采用模板类的对象,并将所述函数指针作为模板参数。可能的?

c++ - 函数类型用于什么?

c++ - 用函数指针调用虚成员函数的基类定义

c - 使用函数指针变量的地址将函数指针分配给函数