va_start(arg, n);的作用就是获取可变参数列表中的第一个参数的地址。 va_arg(arg, int); va_arg的定义如下:#define__crt_va_arg(ap, t) \(*(t*)((ap += _INTSIZEOF(t)) -_INTSIZEOF(t)))#defineva_arg __crt_va_arg其作用便是获取当前的参数,并将指针arg移动至下一个参数。 va_arg(...
头文件<stdarg.h>提供了遍历未知数目和类型的函数参数列表的功能。 假定函数f带有可变数目的实际参数,lastarg是它的最后一个命名的形式参数,那么,函数f内声明一个va_list的变量ap,它将依次指向每个实际参数: va_list ap; 在访问任何未命名的参数前,必须用va_start宏初始化ap: va_start(ap,lastarg); 此后,每...
作用是使args指向省略号部分的第一个参数。 va_arg(args,int); 第一个参数为va_list变量,第二个参数为参数列表中下一个参数的类型。该类型有时候需要由前面获得的数据类型来判断。该函数宏的作用是返回args所指的当前参数的值,并使其指向下一个可变参数的地址。 var_end(args); 完成处理可变参数。
va_start(arg, n);的作用就是获取可变参数列表中的第一个参数的地址。 va_arg(arg, int); va_arg的定义如下:#define__crt_va_arg(ap, t) \(*(t*)((ap += _INTSIZEOF(t)) -_INTSIZEOF(t)))#defineva_arg __crt_va_arg其作用便是获取当前的参数,并将指针arg移动至下一个参数。 va_arg(...