下記表は、演算子の優先順位と結合規則をまとめたものです。演算子は優先順位の高い順に並べられています。同じ優先順位の演算子が1つの式に複数あるとき、結合規則の順に評価されます。
スクロールできます
| 優先度 | 演算子 | 機能 | 結合の向き |
|---|---|---|---|
| 1 | () | 関数呼び出し | 左から右 |
| [] | 配列の要素 | ||
| -> | ポインターからの構造体メンバーアクセス | ||
| . | 構造体メンバーアクセス | ||
| ++ | 後置インクリメント | ||
| -- | 後置デクリメント | ||
| 2 | & | メモリーアドレス | 右から左 |
| * | ポインターの間接参照 | ||
| + | 符号 | ||
| - | 符号 | ||
| ~ | ビット否定 | ||
| ! | 論理否定 | ||
| ++ | 前置インクリメント | ||
| -- | 前置デクリメント | ||
| sizeof | 変数や型のサイズを取得 | ||
| _Alignof | アライメント値を取得 | ||
| 3 | () | キャスト | 右から左 |
| 4 | * | 乗算 | 左から右 |
| / | 除算 | ||
| % | 乗除 | ||
| 5 | + | 加算 | 左から右 |
| - | 減算 | ||
| 6 | << | 左シフト | 左から右 |
| >> | 右シフト | ||
| 7 | < | 左の方が小さい | 左から右 |
| <= | 左が右以下 | ||
| > | 左の方が大きい | ||
| >= | 左が右以上 | ||
| 8 | == | 等しい | 左から右 |
| != | 等しくない | ||
| 9 | & | ビット積 | 左から右 |
| 10 | ^ | ビット排他的論理和 | 左から右 |
| 11 | | | ビット和 | 左から右 |
| 12 | && | 論理積 | 左から右 |
| 13 | || | 論理和 | 左から右 |
| 14 | ?: | 条件演算子 | 右から左 |
| 15 | = | 代入 | 右から左 |
| += | 加算代入 | ||
| -= | 減算代入 | ||
| *= | 乗算代入 | ||
| /= | 除算代入 | ||
| %= | 乗除代入 | ||
| <<= | 左シフト代入 | ||
| >>= | 右シフト代入 | ||
| &= | ビット積代入 | ||
| |= | ビット和代入 | ||
| ^= | ビット排他的論理和代入 | ||
| 16 | . | カンマ | 左から右 |
a & b || c // (a & b) || c
a && b || c-- // (a && b) || c--
a = b || c // a = (b || c)
a = b = c // a = (b = c)
コメント