This page lists C operators in order of precedence (highest to lowest). Their associativity indicates in what order operators of equal precedence in an expression are applied.
Operator

Description 
Associativity


( ) [ ] . > ++  
Parentheses (function call)
(see Note 1) Brackets (array subscript) Member selection via object name Member selection via pointer Postfix increment/decrement (see Note 2) 
lefttoright

++
 +  ! ~ (type) * & sizeof 
Prefix increment/decrement Unary plus/minus Logical negation/bitwise complement Cast (convert value to temporary value of type) Dereference Address (of operand) Determine size in bytes on this implementation 
righttoleft 
* / %  Multiplication/division/modulus  lefttoright 
+   Addition/subtraction  lefttoright 
<< >>  Bitwise shift left, Bitwise shift right  lefttoright 
< <= > >= 
Relational less than/less than
or equal to Relational greater than/greater than or equal to 
lefttoright 
== !=  Relational is equal to/is not equal to  lefttoright 
&  Bitwise AND  lefttoright 
^  Bitwise exclusive OR  lefttoright 
  Bitwise inclusive OR  lefttoright 
&&  Logical AND  lefttoright 
   Logical OR  lefttoright 
? :  Ternary conditional  righttoleft 
= += = *= /= %= &= ^= = <<= >>= 
Assignment Addition/subtraction assignment Multiplication/division assignment Modulus/bitwise AND assignment Bitwise exclusive/inclusive OR assignment Bitwise shift left/right assignment 
righttoleft 
,

Comma (separate expressions)  lefttoright 

Comments
Post a Comment