演算子の優先順位 | C言語

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