stdarg.h简介

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。

程序实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#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;
}

程序运行结果:

1
Printing:1      3       5
坚持原创技术分享,您的支持将鼓励我继续创作!