パラメーター指定の終わりにある省略符号は、関数が可変数のパラメーターを持っていることを指定するために使用されます。 パラメーターの数は、パラメーター指定の数に等しいか、またはそれより多くなります。 省略符号の前には、少なくとも 1 つのパラメーター宣言がなければなりません。
int f(int, ...);
省略符号の前のコンマは、オプションです。
さらに、パラメーター宣言は、省略符号の前には必要ありません。
省略符号の前のコンマ、同じく省略符号の前のパラメーター宣言は、C では両方とも必須です。
パラメーター拡張は必要に応じて行われます。ただし、型検査は、可変引き数に対しては行われません。
引き数のない関数を、次の 2 つの方法で宣言することができます。
int f(void); int f();
空の引き数宣言や (void) の引き数宣言リストは、引き数を使用しない関数を示します。
空の引き数宣言リストは、
関数がパラメーターとして任意の数または型をとることができるということを意味します。
void から派生した型 (void へのポインターなど) は使用できますが、 型 void を引き数型として使用することはできません。
次の例で、関数 f() は 1 つの整数引き数を使用して値は戻しませんが、 g() は引き数がないことを予期しており、整数を戻します。
void f(int); int g(void);
関連参照