C标准库 va_arg函数

va_arg()函数用于调用可变参数列表。

va_arg()函数 语法

type va_arg(va_list ap,type);

参数ap为可变参数自身;

参数type为要获取的参数的指定类型,返回这个指定类型的值,并把ap的位置指向变参表的下一个变量位置。

va_arg()函数没有返回值。

va_arg()函数 示例

本示例使用va_arg函数改变arg_ptr的值,连续不断地获取下一个char型的参数。其具体代码如下所示:

#include<stdio.h>
#include<stdarg.h>
void va_arg_fun(int i,……)
{
     va_list arg_ptr;
     char*s=NULL;
     va_start(arg_ptr,i);/*以固定参数的地址为起点确定变参的内存起始地址*/
     s=va_arg(arg_ptr,char*);/*得到下一个可变参数的值*/
     va_end(arg_ptr);/*停止使用可变参数*/
     printf("%d%s ",i,s);/*输出各参数的值*/
     return;
}
int main(int argc,char argv[])
{
     va_arg_fun(30,-1);/*以两个参数调用*/
     va_arg_fun(60,200,-1);/*以三个参数调用*/
     va_arg_fun(100,300,400,-1);/*以四个参数调用*/
}

运行结果如图所示。

va_arg()函数

赞(1)
未经允许不得转载:极客笔记 » C标准库 va_arg函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址