va_list

< c‎ | variadic
定义于头文件 <stdarg.h>
/* unspecified */ va_list;

va_list 是一个完整对象类型,适于保有宏 va_startva_copyva_argva_end 所需的信息。

若创建 va_list 的实例并传递给另一个函数,且在该函数中通过 va_arg 使用它,则在调用方函数中的任何后继调用必须前接对 va_end 的调用。

传递指向 va_list 对象的指针给另一个函数,并使用该函数返回后使用指针所指对象是合法的。

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.16/3 Variable arguments <stdarg.h> (p: 269)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.15/3 Variable arguments <stdarg.h> (p: 249)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.8 VARIABLE ARGUMENTS <stdarg.h>

参阅

令函数得以访问可变参数
(宏函数)
创造函数可变参数的副本
(宏函数)
访问下一个函数可变参数
(宏函数)
结束函数可变参数的行程
(宏函数)