含义:让一个函数在不同的时候接受不同数目的参数

   可变参数列表通过宏来实现,这些宏定义于stdarg.h头文件,是标准库的一部分,这个头文件声明了一个类型va_list和三个宏—va_start、va_arg、va_end。

变量var_arg用于访问参数列表的未确定部分,此变量通过调用va_start来初始化。它的第一个参数是va_list变量的名字,第二个参数是省略号前最后一个有名字的参数。初始化过程把var_arg变量设置为指定可变参数部分的第一个参数。

需要用宏va_arg访问参数,这个宏接受两个参数:va_list变量和参数列表中下一个参数的类型

访问完最后一个可变参数之后,调用va_end。

#include
float
average(int n_values, ...)
{
va_list var_arg;
int count;
float sum = 0;
va_start(var_age, n_values);
for (count = 0; count < n_values; count += 1)
{
sum += va_arg(var_arg, int);
}
va_end(var_arg);
return sum / n_values;
}