Linux講座にようこそ。このページは「C言語プログラミング入門 - 付録2.演算子の優先順位」です。
一つの式の中に複数の演算子が有る場合、優先順位の高い演算子から順に評価されます。同じ優先順位の演算子が有る場合は、結合規則の方向に評価されます。
優先順位の変更は((左小括弧)と)(右小括弧)で括ります。
優先順位 | 演算子 | 意味 | 結合規則 |
---|---|---|---|
高 ↑ ↓ 低 | [] () . -> | 配列要素の参照 関数呼び出し(func(...)) 構造体メンバ参照 構造体メンバ間接参照 | → → → → |
++、-- | インクリメント、デクリメント(前置) | → | |
++、-- sizeof ~ ! +、- & * | インクリメント、デクリメント(後置) サイズ取得 ビット反転 論理反転 正、負(正の値、負の値を表す) アドレス 間接参照 | ← ← ← ← ← ← ← | |
(型名) | 型変換 | ← | |
*、/、% | 乗算、除算、除算(整数型除算の余り) | → | |
+、- | 加算、減算 | → | |
<<、>> | ビットの左シフト、右シフト | → | |
<、<=、>、>= | より小、以下、より大、以上 | → | |
==、!= | 等しい、等しくない | → | |
& | ビットごとの論理積(AND) | → | |
^ | ビットごとの排他的論理和(XOR) | → | |
| | ビットごとの論理和(OR) | → | |
&& | 論理積(AND) | → | |
|| | 論理和(OR) | → | |
?: | 条件演算 | ← | |
=、+=、-=、*=、 /=、%=、<<=、>>=、 &=、~=、|= | 代入 | ← | |
, | 順次実行 | → |