可变参数列表
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。
可变参数列表通过宏来实现,这些宏定义于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; }
相关文章推荐
- 访问控制列表概述
- 路由器访问列表的应用
- VBS CHR码值对应列表
- Lua编程示例(一):select、debug、可变参数、table操作、error
- Perl中的列表和数组学习笔记
- 鼠标滑过 放大显示效果的列表
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- C++可变参数的实现方法
- php通过分类列表产生分类树数组的方法
- dedecms列表中显示文章完整标题的解决办法
- 常见系统进程列表第1/2页
- JavaScript实现动态删除列表框值的方法
- 浅析C/C++中的可变参数与默认参数
- JS 实现列表与多选框选择附预览动画
- jQuery实现仿腾讯视频列表分页效果的方法
- jquery实现点击展开列表同时隐藏其他列表
- jquery制作select列表双向选择示例代码
- c++11可变参数使用示例
- 用javascript实现li 列表数据隔行变换背景颜色
- python列表操作使用示例分享