C 標準庫 - <stdarg.h>

簡介

stdarg.h 頭檔定義了一個變數類型 va_list 和三個宏,這三個宏可用於在參數個數未知(即參數個數可變)時獲取函數中的參數。

可變參數的函數通在參數列表的末尾是使用省略號(,...)定義的。

庫變數

下麵是頭檔 stdarg.h 中定義的變數類型:

序號變數 & 描述
1va_list
這是一個適用於 va_start()、va_arg()va_end() 這三個宏存儲資訊的類型。

庫宏

下麵是頭檔 stdarg.h 中定義的宏:

序號宏 & 描述
1void va_start(va_list ap, last_arg)
這個宏初始化 ap 變數,它與 va_argva_end 宏是一起使用的。last_arg 是最後一個傳遞給函數的已知的固定參數,即省略號之前的參數。
2type va_arg(va_list ap, type)
這個宏檢索函數參數列表中類型為 type 的下一個參數。
3void va_end(va_list ap)
這個宏允許使用了 va_start 宏的帶有可變參數的函數返回。如果在從函數返回之前沒有調用 va_end,則結果為未定義。