C言語、演算子の優先順位まとめ
C言語の演算子における優先順位を表にまとめました。
優先順位が上にあるもの(数字が小さい方)が優先されます。優先順位がおなじ場合は、代入記号 '=’ に近い方(数式の右辺の左方)が優先されます。
優先順位 | 演算記号 | 数式例 | 名称 | 結合方向 | 備考 |
---|---|---|---|---|---|
1 | ( ) | sub(x) | 関数呼び出し演算子 | 左側に結合 | |
[ ] | dim[x] | 添付演算子 | 左側に結合 | ||
. | x.y | ドット演算子 | 左側に結合 | 構造体変数関係 | |
-> | x->y | アロー演算子 | 左側に結合 | 構造体変数のポインタ | |
++ | x++ | 後置インクリメント演算子 | 左側に結合 | ||
— | x– | 後置ディクリメント演算子 | 左側に結合 | ||
2 | ++ | #NAME? | 前置インクリメント演算子 | 右側に結合 | |
— | #NAME? | 前置ディクリメント演算子 | 右側に結合 | ||
sizeof | sizeof(int) | sizeof演算子 | 右側に結合 | 変数型のバイト数 | |
& | &x | 単項アドレス演算子 | 右側に結合 | ポインタ | |
* | *x | 単項間接演算子 | 右側に結合 | ||
+ | #NAME? | 単項+演算子 | 右側に結合 | 正数を明示する | |
– | #NAME? | 単項-演算子 | 右側に結合 | 負数を明示する | |
~ | ~x | 補数演算子 | 右側に結合 | ||
! | !x | 論理否定演算子(条件文) | 右側に結合 | ||
3 | ( ) | (double)x | キャスト演算子 | 左側に結合 | |
4 | * | x*y | 2項乗算演算子 | 左側に結合 | |
/ | x/y | 2項除算演算子 | 左側に結合 | ||
% | x%y | 2項剰余演算子 | 左側に結合 | ||
5 | + | x+y | 2項加算演算子 | 左側に結合 | |
– | x-y | 2項減算演算子 | 左側に結合 | ||
6 | < < |
x< |
整数左シフト演算子 | 左側に結合 | |
>> | x>>y | 整数右シフト演算子 | 左側に結合 | ||
7 | < |
x
<演算子(条件文)
|
左側に結合
|
|
|
< = | x< =y | <=演算子(条件文) | 左側に結合 | ||
> | x>y | >演算子(条件文) | 左側に結合 | ||
>= | x>=y | >=演算子(条件文) | 左側に結合 | ||
8 | == | x==y | ==演算子(条件文) | 左側に結合 | |
!= | x!=y | !=演算子(条件文) | 左側に結合 | ||
9 | & | x&y | 論理積(AND)演算子 | 左側に結合 | |
10 | ^ | x^y | 排他的論理和(XOR)演算子 | 左側に結合 | |
11 | | | x|y | 論理和(OR)演算子 | 左側に結合 | |
12 | && | x && y | 論理積(AND)演算子(条件文) | 左側に結合 | |
13 | || | x || y | 論理和(OR)演算子(条件文) | 左側に結合 | |
14 | ?: | x?y:x | 条件付き演算子 | 右側に結合 | |
15 | = | x=y | 代入演算子 | 右側に結合 | |
+=、-=、*= | 複合代入演算子 | 右側に結合 | |||
/=、%=、< <= | |||||
>>=、&=、^= | |||||
|= | |||||
16 | , | x,y | コンマ演算子 | 左側に結合 |
この表は「c言語による演算」にある「演算記号の優先順位」を参考にしました。
☆ c言語による演算
ディスカッション
コメント一覧
まだ、コメントがありません