上述代码定义了可变参数函数 foo(),它可以接收类似于 printf() 的函数,并且将 fmt 中的 s 解析为字符串,d 解析为整数,c 解析为字符,因此编译并执行这段C语言代码,可得到如下输出: # gcc t.c# ./a.outstringhelloint12charm 通过这段实例,可以看出使用C语言定义可变参数函数并不复杂,在处理可变参数时,只需...
va_list:定义参数列表 va_start:初始化参数列表 va_arg:获取每一个参数的值(需要循环调用) va_end:关闭参数列表 其中“va”是variable-argument,即可变参数 ② 函数的参数列表格式为(int n, …) 第一个参数必须有(但不一定为int),后面的…表示参数长度可变 [注:这里把第一个参数设定为参数的个数,是最简单...
void va_start( va_list arg_ptr, prev_param );type va_arg( va_list arg_ptr, type );void va_end( va_list arg_ptr );一个简单的例子 void simple_va_fun(int i, ...){va_list arg_ptr;int j=0;va_start(arg_ptr, i);j=va_arg(arg_ptr, int);va_end(arg_ptr);print...