C Operator Precedence Table
C Operator Precedence Table
net
COperatorPrecedenceTable
ThispagelistsCoperatorsinorderofprecedence(highesttolowest).Theirassociativityindicatesinwhatorderoperatorsof
equalprecedenceinanexpressionareapplied.
Operator
Description
Associativity
()
[]
.
>
++
Parentheses(functioncall)(seeNote1)
Brackets(arraysubscript)
Memberselectionviaobjectname
Memberselectionviapointer
Postfixincrement/decrement(seeNote2)
lefttoright
++
+
!~
(type)
*
&
sizeof
Prefixincrement/decrement
Unaryplus/minus
Logicalnegation/bitwisecomplement
Cast(convertvaluetotemporaryvalueoftype)
Dereference
Address(ofoperand)
Determinesizeinbytesonthisimplementation
righttoleft
*/%
Multiplication/division/modulus
lefttoright
Addition/subtraction
lefttoright
Bitwiseshiftleft,Bitwiseshiftright
lefttoright
<<=
>>=
Relationallessthan/lessthanorequalto
Relationalgreaterthan/greaterthanorequalto
lefttoright
==!=
+
<<>>
Relationalisequalto/isnotequalto
lefttoright
&
BitwiseAND
lefttoright
BitwiseexclusiveOR
lefttoright
BitwiseinclusiveOR
lefttoright
&&
LogicalAND
lefttoright
||
LogicalOR
lefttoright
?:
Ternaryconditional
righttoleft
Assignment
Addition/subtractionassignment
Multiplication/divisionassignment
Modulus/bitwiseANDassignment
Bitwiseexclusive/inclusiveORassignment
Bitwiseshiftleft/rightassignment
righttoleft
Comma(separateexpressions)
lefttoright
=
+==
*=/=
%=&=
^=|=
<<=>>=
,