C标准库 va_start函数

va_start()函数用于开始使用可变参数。

va_start()函数 语法

void va_start(va_list ap,param);

参数ap为参数自身;

参数param为第一个参数。

va_start()函数没有返回值。

va_start()函数 示例

本示例使用va_start函数开始使用可变参数arg_ptr,并以i作为起始地址。其具体代码如下所示:

#include<stdio.h>
#include<stdarg.h>
void va_start_fun(int i,……)
{
     va_list arg_ptr;
     int result=i;
     int n=0;
     va_start(arg_ptr,i);/*以固定参数的地址为起点确定变参的内存起始地址*/
     do
     {
         ++n;
         printf("the%d th arg:%d ",n,result);
         result=va_arg(arg_ptr,int);/*得到下一个可变参数的值*/
     }while(result!=-1);
     return;
}
int main(int argc,char argv[])
{
     va_start_fun(100,-1);/*以两个参数调用*/
     va_start_fun(100,200,-1);/*以三个参数调用*/
}

运行结果如图所示。

va_start()函数

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

评论 抢沙发

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