概要
#include <stdarg.h>
type va_arg(va_list ap, type);
描述
參數ap應該首先被宏va_start 或 va_copy初始化,但又必須在被宏va_end調用之前使用。每次調用va_arg都會改變ap值使得後續的參數值能被依次添加。參數type應該是一個類型名,並且用type*能夠得到該類型的指針類型。如果type為空,或者type和實際參數不匹配, 那么除了以下兩種情況,這個宏的行為是未定義的。
1. 一個是帶符號整型,另一個是與之對應的無符號整型,並且值可以被表達成這兩種類型的任何一種;
2. 一個是空類型指針,另一個是字元類型指針。
返回值
第一次調用va_arg返回parmN之後的參數值,後續的調用依次返回剩下的參數值。parmN應為函式中“...”前最後一個參數值。
例子
實現: