カンマ演算子
二項演算子:インデックス への移動
構文
式 , 代入式
解説
カンマは,関数の引数リストの要素を分離します。
カンマは,カンマ式内の演算子としても使用されます。カンマの 2 つの用法を組み合わせて使用することができますが,丸カッコを用いてそれらを区別する必要があります。
左のオペランド E1
は void 式(式としては値は持たない)として評価されてから,E2
が評価され,その結果と型がカンマ式全体の結果の型になります。オペランドがいくつになっても同様で,次の式では,
E1, E2, ..., En
左から順に各 Ei
が評価され,En
を評価した結果の値と型が式全体の結果として得られます。
関数引数および初期化子リストで使われるカンマとの混同を避けるには,カッコを使わなければなりません。次に例を示します。
func(i, (j = 1, j + 4), k);
引数は 4 つではなく 3 つで,それぞれ i
,5
,および k
です。