C 標準庫 – <stdarg.h>

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,則結果為未定義。