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言語による演算



ディスカッション
コメント一覧
まだ、コメントがありません