可变参数解析

使用可变参数,需要添加 < stdarg.h >。
实现可变参数的方法就是把函数的第一个参数设为后续可变参数的个数。然后使用
va_list , va_start , va_arg , va_end等宏函数对可变参数进行操作。
###步骤

  • va_list(arg) //声明一个va_list变量arg
  • va_start(arg,x) //x为第一个确定的参数,va_start(arg, x)使arg指向可变参数的第一个参数。
  • va_arg(arg,type)//type为每个可变参数的数据类型,va_arg(arg,type)读出第一个可变参数,且指针指向下一个可变参数
  • va_end(arg) //等同于令arg为NULL,防止arg变成野指针

###可变参数的限制
注意:

  • 可变参数必须从头到尾逐个访问。如果你在访问了⼏个可变参数之后想半途终⽌,这是可以
    的,但是,如果你想⼀开始就访问参数列表中间的参数,那是不⾏的。
    参数列表中⾄少有⼀个命名参数。如果连⼀个命名参数都没有,就⽆法使⽤va_start。
    这些宏是⽆法直接判断实际存在参数的数量。
    这些宏⽆法判断每个参数的是类型。
    如果在va_arg中指定了错误的类型,那么其后果是不可预测的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值