可变参数
来源:互联网 发布:php ajax返回json数据 编辑:程序博客网 时间:2024/06/04 19:26
在函数的原型中 ,我们使用定义的形参总是与固定数目的。其实,让一个函数在不同的时候接受不同数目的参数也是可以的。为了实现可变参数列表,是通过宏来实现的。
这些宏定义在stdarg.h头文件中,下图为该头文件的解释
可变参数必须从头到尾按照顺序逐个访问,不可以从开始就访问参数列表中间的参数。并且参数列表中至少有一个命名参数,才可以使用va_start,这个参数的作用是用于查找参数列表的可变部分。
限制:1)这些宏无法判断实际存在的参数的数量
2)这些宏无法判断每个参数的类型。
eg:
float average(int n_values,...)//计算标量参数的平均值{ va_list var_arg;//访问可变参数未确定的部分 int count; float sum = 0;//准备访问可变参数
va_start(var_arg,n_values);//添加取自可变参数列表的值 for(count = 0;count < n_values;++count) { sum += va_arg(var_arg, int ); } va_end(var_arg); return sum / n_values;}int main(){ average(3,1,2,3); printf("%f \n",average(3,4,2,3)); return 0;}
阅读全文
0 0
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 可变参数
- 在ubntu下安装Sublime text
- 每天一道算法题——链表反转
- Just a Hook(hdu 1698)
- JVM运行时内存布局
- 让你分分钟理解 JavaScript 闭包
- 可变参数
- JavaWeb三大框架之---struts2详解
- Machine Learning Books List
- JavaBean与数据库的使用
- 前端面试中的常见的算法问题
- ajax跨域请求保持session一致
- ORB 优化(5)
- 每天一个linux命令(22):find 命令的参数详解
- 八段代码彻底掌握Promise