C 標準庫 – <stdarg.h>
C 標準庫 - <stdarg.h>
簡介
stdarg.h 標頭檔案定義了一個變數型別 va_list 和三個巨集,這三個巨集可用於在引數個數未知(即引數個數可變)時獲取函式中的引數。
可變引數的函式通在引數列表的末尾是使用省略號(,...)定義的。
庫變數
下面是標頭檔案 stdarg.h 中定義的變數型別:
序號 | 變數 & 描述 |
---|---|
1 | va_list 這是一個適用於 va_start()、va_arg() 和 va_end() 這三個巨集儲存資訊的型別。 |
庫巨集
下面是標頭檔案 stdarg.h 中定義的巨集:
序號 | 巨集 & 描述 |
---|---|
1 | void va_start(va_list ap, last_arg) 這個巨集初始化 ap 變數,它與 va_arg 和 va_end 巨集是一起使用的。last_arg 是最後一個傳遞給函式的已知的固定引數,即省略號之前的引數。 |
2 | type va_arg(va_list ap, type) 這個巨集檢索函式引數列表中型別為 type 的下一個引數。 |
3 | void va_end(va_list ap) 這個巨集允許使用了 va_start 巨集的帶有可變引數的函式返回。如果在從函式返回之前沒有呼叫 va_end,則結果為未定義。 |