`
deepfuture
  • 浏览: 4332234 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79402
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68349
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101473
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281118
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14595
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65542
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31309
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45189
社区版块
存档分类
最新评论

C的可变参数传入

阅读更多

1、可变参数,即函数在声明和使用时可以不指定参数个数,参数可变

2、宏va_arg()、va_start()、va_end()共同使用完成向函数传入数目可变的变元操作。
3、具体使用
如调用了一个求和函数:
double dbsum
dbsum=sum_series(5,10.0,20,1.9,9.1,4,9)//第一个参数5表示参数个数
求和函数如下:
double sum_series(iint num,...)
{
double sum=0.0,t;
va_list argptr;
va_start(argptr,num);
for (;num;num--)
{
t=va_arg(argptr,double);//得到下一个参数
sum+=t;
}
va_end(argptr);
return sum;
}
分享到:
评论

相关推荐

    C++可变参数的实现方法

    在带有可变参数的函数体中如何持有可变参数第一个问题, 调用时在可以传入可变参数的地方传入可变参数即可,当然,还有一些需要注意的地方,后面会提到。 第二个问题,编译器需要在编译时采用一种宽松的检查方案,,这...

    C/C++中可变参数的用法详细解析

    可变参数的使用方法远远不止以下介绍的几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会...

    Python中几种参数得用法:默认参数,可变参数,关键字参数,命名关键字参数

    可变参数,意思就是传入参数的个数是可变的,可以是1个,2个,无数个;传入参数类型为list或者tuple;举例,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……,由于参数个数不确定,所以我们可以把 这组数据作为...

    详解Python的三种可变参数

    可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表 关键字参数 关键字参数在python中...

    javascript 利用arguments实现可变长参数

    在C#中,有可变长参数params[],但是在js中,如何实现这种可变参数呢? 一、可变长参数 arguments是非常好的解决方法,一直不知道javascript有这个东西。 先来看看应用场景,使用arguments传入任意个数的参数到js...

    C/C++可变参数的使用

    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序...

    你必须知道的495个C语言问题

    1.23 能否声明和传入数组大小一致的局部数组,或者由其他参数指定大小的参数数组? 1.24 我在一个文件中定义了一个extern数组,然后在另一个文件中使用,为什么sizeof取不到数组的大小? 声明问题 1.25 函数只...

    《你必须知道的495个C语言问题》

    《你必须知道的495个C语言问题》结构清晰,讲解透彻,是各高校相关专业C语言课程很好的教学参考书,也是各层次C程序员的优秀实践指南。 -----------------------------------------------------------------------...

    C语言FAQ 常见问题列表

    o 3.8 如何向接受结构参数的函数传入常数值? o 3.9 怎样从/向数据文件读/写结构? o 3.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构...

    你必须知道的495个C语言问题(PDF)

    2.8 如何向接受结构参数的函数传入常数值? . . . . . . . . . . . . . . 8 2.9 怎样从/向数据文件读/写结构? . . . . . . . . . . . . . . . . . . . 9 2.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且...

    你必须知道的495个C语言问题.pdf

    作者在网络版CFAQ列表的基础上进行了大幅度的扩充和丰富,结合代码示例,权威而且详细深入地解答了实际学习和工作中最常遇到的495个C语言问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等...

    宋劲彬的嵌入式C语言一站式编程

    2.3. #、##运算符和可变参数 2.4. 宏展开的步骤 3. 条件预处理指示 4. 其它预处理特性 22. Makefile基础 1. 基本规则 2. 隐含规则和模式规则 3. 变量 4. 自动处理头文件的依赖关系 5. 常用的make命令行选项 23. 指针...

    补丁模块(带源码)InlinePatch,Hook,内存DLL注入等等

    参数 运行参数, 文本型, 可空, 可空,没有参数则留空,大多数情况没有参数;有参数时填写,如"-s" .参数 模块名, 文本型, , 如"user32.dll" .参数 API, 文本型, , 如“CreateWindowExA” .参数 API中断次数, 整数型, 可...

    浅谈pyhton学习中出现的各种问题(新手必看)

    目前比较杂乱无章,后续还会有一些添加补充 1、标识符 (1)标识符是区分大小写的。 (2)标示符以字母或下划线开头,可包括字母,下划线和数字。...(2)键必须不可变,所以可以用数字、元组或字符串充

    python实现在函数中修改变量值的方法

    如果函数收到的是一个可变对象(比如字典或者列表)的引用, 就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用, 就不能直接修改原始对象...

    javascript 设计模式之享元模式原理与应用详解

    本文实例讲述了javascript 设计模式之享元模式...外部状态与内部状态是独立分开的,外部状态一般作为参数传入享元对象内,但不会影响内部状态的值;外部状态,一用用于获取共享的享元对象,或多或少与内部状态有点关联

    ECMAScript6的新特性箭头函数(Arrow Function)详细介绍

    箭头函数是ECMAScript 6最受关注的更新内容之一。它引入了一种用「箭头」(=>)来定义函数的新语法,它…...更不能通过arguments对象访问传入参数。只能使用显式命名或其他ES6新特性来完成。这些差异的存在是有理可循的

    Python ORM框架SQLAlchemy学习笔记之数据查询实例

    现在该是关键内容之一查询了,当然前面的文章中或多或少的穿插了些有关查询的东西,比如一个查询(Query)对象就是通过Session会话的query()方法获取的,需要注意的是这个方法的参数数目是可变的,也就是说我们可以...

Global site tag (gtag.js) - Google Analytics