Precedence
From C
Precedence of operators
Operators | Associativity | Description |
---|---|---|
() [] -> . | left to right | function calls, subscript, pointer member, structure member |
! ~ ++ -- + -
(type) * & sizeof | right to left | unary operators |
* / % | left to right | multiplicative |
+ - | left to right | additive |
<< >> | left to right | shift |
< <= > >= | left to right | relational |
== != | left to right | equality |
& | left to right | bitwise AND |
^ | left to right | bitwise XOR |
| | left to right | bitwise OR |
&& | left to right | logical AND |
|| | left to right | logical OR |
?: | right to left | conditional |
= += -= *= /= %=
<<= >>= &= ^= |= | right to left | assignment |
, | left to right | comma |
The # and ## operators are part of the preprocessor phase and do not participate in operator precedence.