stdarg.h提供了三个宏,书写可变参数函数可以用到
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
上面宏的前缀va表示variable argument,即可变参数的意思。变量ap专门用来记录获取可变参数。下面依次介绍三个宏的意义和用法。
void va_start( va_list ap, last)
last为函数形参中"..."前的最后一个形参名字,宏va_start用于根据last的位置(或指针)来初始化变量ap,以供宏ar_arg来依次获得可变参数的值。变量ap在被va_arg或va_end使用前,必须使用va_start初始化。