va符合c语言标识符,va_copy - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

在头文件中定义void va_copy(va_list dest,va_list src);(自C99以来)

va_copy宏将src复制到dest。

va_end应在函数返回之前在dest上调用,或者任何后续的dest重新初始化(通过调用va_start或va_copy)。

参数

dest-一个要初始化的va_list类型的实例SRC-将用于初始化dest的源va_list

扩大价值

(none).

#include #include #include 

double sample_stddev(int count, ...) {    /* Compute the mean with args1. */

double sum = 0;

va_list args1;    va_start(args1, count);

va_list args2;    va_copy(args2, args1);   /* copy va_list object */    for (int i = 0; i 

double num = va_arg(args1, double);

sum += num;    }    va_end(args1);

double mean = sum / count;

/* Compute standard deviation with args2 and mean. */

double sum_sq_diff = 0;    for (int i = 0; i 

double num = va_arg(args2, double);

sum_sq_diff += (num-mean) * (num-mean);    }    va_end(args2);    return sqrt(sum_sq_diff / count);}

int main(void) {    printf("%f\n", sample_stddev(4, 25.0, 27.3, 26.9, 25.7));}

可能的输出:

0.920258

参考

C11标准(ISO / IEC 9899:2011):7.16.1.2 va_copy宏(p:270)

C99标准(ISO / IEC 9899:1999):7.15.1.2 va_copy宏(p:250)

扩展内容

va_arg访问下一个可变参数函数参数(函数宏)va_end结束可变参数函数参数的遍历(函数宏)

va_list保存va_start,va_arg,va_end和va_copy(typedef)所需的信息

va_start允许访问可变参数函数参数(函数宏)

| 用于va_copy的C ++文档 |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值