共用方式為


具有可變數目引數的呼叫

一份部分參數清單可以省略符號標記法,三個句號後面接著逗號**, ...**結束 (),表示可能有多個引數傳遞給函式,不過,沒有其他資訊沒有提供它們。 型別檢查這類引數尚未實作。 至少有一個參數必須在省略附註之前,並省略符號標記法必須是參數清單中的最後一個語彙基元。 沒有省略註釋,則為,否則它會接收參數之參數清單,宣告的函式以外的行為是未定義。

若要使用引數呼叫具有可變數目的函式,請指定任意數目的引數在函式呼叫。 範例是從 C 執行階段程式庫的 printf 函式。 函式會呼叫參數清單或引數型別清單必須包含每個型別的宣告名稱的引數。

除非呼叫慣例 __fastcall 指定,在函式呼叫指定的所有引數在堆疊上。 為函式宣告的參數數目來判斷引數從堆疊取出並指派給參數。 您必須負責擷取其他引數從堆疊取出決定引數存在。 STDARG.H 檔案包含採用引數的變數數字函式存取引數的 ANSI 式巨集。 此外,在 VARARGS.H 的 XENIX 式巨集仍然支援。

這個範例宣告是呼叫引動過程中使用不定數目的函式:

int average( int first, ...);

請參閱

概念

函式呼叫