可变参数函数的实现

来源:互联网 发布:威戈包怎么样知乎 编辑:程序博客网 时间:2024/04/28 17:49

 设计可变参数数目的函数的主要难度在于要自己手动从栈中提取参数,但这些有现成的宏定义可以用,在<stdarg.h>和<stdargs.h>中。


实例:

#include "stdafx.h"
#include "stdarg.h"

void simple_var_fun(int i,...)
{
 va_list arg_ptr;
 int j=0;
 char s;
 
 va_start(arg_ptr,i);
 j = va_arg(arg_ptr,int);
 s = va_arg(arg_ptr,char);
 va_end(arg_ptr);
 
 printf("%d/n%d/n%c/n",i,j,s);
 
}
int main(int argc, char* argv[])
{
 //printf("Hello World!/n");
 simple_var_fun(100,200);
 printf("/n");
 simple_var_fun(100,200,'Q');
 return 0;
}

 

原创粉丝点击