当前位置: 代码迷 >> 综合 >> stdarg.h简介
  详细解决方案

stdarg.h简介

热度:21   发布时间:2023-12-14 18:19:18.0

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