在 C 中的函数之间传递变量参数
这个问题涉及将变量参数传递给另一个也接受变量参数列表的函数。该任务涉及从 example 调用 exampleB,同时保留 exampleB 中的变量参数列表。
直接传递参数是不可行的。相反,需要一个接受变量参数列表的中间函数。实现方式如下:
#include <stdarg.h> static void exampleV(int b, va_list args); // Intermediary function void example(int a, int b, ...) // Renamed for consistency { va_list args; do_something(a); // Use argument a va_start(args, b); exampleV(b, args); va_end(args); } void exampleB(int b, ...) { va_list args; va_start(args, b); exampleV(b, args); va_end(args); } static void exampleV(int b, va_list args) { ...whatever you planned to have exampleB do... // Excluding va_start and va_end }
在此设置中,exampleV 充当桥梁,将变量参数从 example 传递到 exampleB,而不对 exampleB 进行修改。
以上是如何在 C 中将变量参数从一个函数传递到另一个函数?的详细内容。更多信息请关注PHP中文网其他相关文章!