下記表は、演算子の優先順位と結合規則をまとめたものです。演算子は優先順位の高い順に並べられています。同じ優先順位の演算子が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)