stdarg.h简介:
stdarg.h是C语言中C标准函数库的头文件,stdarg是由standard(标准) arguments(参数)简化而来,主要目的为让函数能够接收可变参数。C++的cstdarg头文件中也提供这样的功能;虽然与C的头文件是兼容的,但是也有冲突存在。
- < cstdarg >(stdarg.h)。
变量参数处理。
此标头定义宏以访问未命名参数列表的各个参数,调用的函数不知道这些参数的数量和类型。 函数可以接受不同数量的附加参数,而不需要相应的参数声明,方法是在其常规命名参数之后包括一个逗号和三个点(, …):
返回type函数_name(参数声明,…);
要访问这些附加参数,可以使用在此标题中声明的宏va_start、va_arg和va_end:
首先,va_start将变量参数列表初始化为va_list。
随后执行的va_arg将按照传递给函数的相同顺序产生附加参数的值。
最后,应在函数返回之前执行va_end。
程序实例:
#include <stdio.h>
#include <stdarg.h> /* va_list, va_start, va_arg, va_end */void Print(int n, ...)
{int i ,val;printf ("Printing:");va_list vl;va_start(vl,n);for (i=0;i<n;i++){val=va_arg(vl,int);printf ("%d\t",val);}va_end(vl);printf ("\n");
}int main ()
{Print(3,1,3,5);return 0;
}
程序运行结果:
Printing:1 3 5