可变參数列表

Posted yxysuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可变參数列表相关的知识,希望对你有一定的参考价值。

再c++里有函数重载。在c里有可变參数列表,用stdarg宏实现定义在<stdarg.h>的头文件里,当中有3个宏:va_start(va_list的变量名,省略号前最后一个有名字的參数)用于初始化,va_arg(va_list的变量名,可变參数类型)用于取出可变參数。va_end(va_list的变量名)用于表明结束取值。用va_list声明一个类型为va_list的变量如arg

#include<stdio.h>
#include<stdarg.h>
float average(int val,...)
{
    va_list arg;
    int count;
    float sum = 0;
    va_start(arg,val);
    for(count = 0;count < val;count++)
    {
        sum += va_arg(arg,int);
    }
    va_end(arg);
    return sum / val;
}//求平均数
int main()
{
    printf("%f\n",average(5,1,2,3,5,6));
    return 0;
}


以上是关于可变參数列表的主要内容,如果未能解决你的问题,请参考以下文章

java之 ------ 可变參数和卫条件

python可变參数调用函数问题

oc 可变參数传递

swift 可变參数

c 语言函数可变參数的处理

malloc()參数为0的情况