摘要:
在ANSI C中,这些宏的定义位于stdarg.h中,典型的实现如下:typedef char *va_list;va_start宏,获取可变参数列表的第一个参数的地址(list是类型为va_list的指针,param1是可变参数最左边的参数):#define va_start(list,param1) ( list = (va_list)¶m1+ sizeof(param1) )va_arg宏,获取可变参数的当前参数,返回指定类型并将指针指向下一参数(mode参数描述了当前参数的类型):#define va_arg(list,mode) ( (mode *) ( list + 阅读全文