C语言-可变参数

stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。

va_list:参数列表变量

可变参数例子:

#include<stdarg.h>
#include <stdio.h>
//可变参数
void hlog(int size,char *data,...)
{
    char* str=NULL;
    va_list  sagrv;
    va_start(sagrv,data) ;
    for(int i=0;i<size;i++)
    {
       str=va_arg(sagrv,char*);
       printf("%s\n",str);
    }
    va_end(sagrv);
}
int main(int argc, char *argv[])
{
     char* data="INFO";
      printf("%s\n",data);
     for(int i=1;i<argc;i++)
       hlog(1,data,argv[i]);

    return 0;
}

运行结构:

参考:

https://www.runoob.com/cprogramming/c-standard-library-stdarg-h.html

猜你喜欢

转载自blog.csdn.net/weixin_39752599/article/details/109193062