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