Featured image of post C言語、演算子の優先順位まとめ

C言語、演算子の優先順位まとめ

C言語の演算子における優先順位を表にまとめました。

C言語の演算子における優先順位を表にまとめました。

優先順位が上にあるもの(数字が小さい方)が優先されます。優先順位がおなじ場合は、代入記号 ‘=’ に近い方(数式の右辺の左方)が優先されます。

優先順位演算記号数式例名称結合方向備考
( )sub(x)関数呼び出し演算子左側に結合
[ ]dim[x]添付演算子左側に結合
.x.yドット演算子左側に結合構造体変数関係
->x->yアロー演算子左側に結合構造体変数のポインタ
++x++後置インクリメント演算子左側に結合
x–後置ディクリメント演算子左側に結合
++#NAME?前置インクリメント演算子右側に結合
#NAME?前置ディクリメント演算子右側に結合
sizeofsizeof(int)sizeof演算子右側に結合変数型のバイト数
&&x単項アドレス演算子右側に結合ポインタ
**x単項間接演算子右側に結合
+#NAME?単項+演算子右側に結合正数を明示する
#NAME?単項-演算子右側に結合負数を明示する
~x補数演算子右側に結合
!!x論理否定演算子(条件文)右側に結合
( )(double)xキャスト演算子左側に結合
*x*y2項乗算演算子左側に結合
/x/y2項除算演算子左側に結合
%x%y2項剰余演算子左側に結合
+x+y2項加算演算子左側に結合
x-y2項減算演算子左側に結合
< <x<整数左シフト演算子左側に結合
»x»y整数右シフト演算子左側に結合
<x <演算子(条件文)左側に結合
< =x< =y<=演算子(条件文)左側に結合
>x>y>演算子(条件文)左側に結合
>=x>=y>=演算子(条件文)左側に結合
==x==y==演算子(条件文)左側に結合
!=x!=y!=演算子(条件文)左側に結合
&x&y論理積(AND)演算子左側に結合
10^x^y排他的論理和(XOR)演算子左側に結合
11xy論理和(OR)演算子
12&&x && y論理積(AND)演算子(条件文)左側に結合
13x
14?:x?y:x条件付き演算子右側に結合
15=x=y代入演算子右側に結合
+=、-=、*=複合代入演算子右側に結合
/=、%=、< <=
»=、&=、^=
=
16,x,yコンマ演算子左側に結合

この表は「c言語による演算」にある「演算記号の優先順位」を参考にしました。

c言語による演算

B!