您的位置:首页 > 其它

可变参数列表

2016-01-08 16:15 274 查看
含义:让一个函数在不同的时候接受不同数目的参数
可变参数列表通过宏来实现,这些宏定义于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<stdarg.h>
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  列表 可变参数