现在的位置: 首页 > 综合 > 正文

在C语言中编写支持可变参数的函数

2013年08月22日 ⁄ 综合 ⁄ 共 404字 ⁄ 字号 评论关闭

在C语言中,支持可变参数是通过几个宏来实现的,支持可变参数的函数参数表中声明为...(除正常参数外,其余声明为三个点儿),然后使用va_list、va_start、va_arg、va_end来访问不定的参数。

下面给出一个求n_values个数的平均数的例子。

//支持可变参数
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;

}

抱歉!评论已关闭.