Summary of Expressions
primary-expression:
identifierconstant
string-literal
( expression )
expression:
assignment-expressionexpression , assignment-expression
constant-expression:
conditional-expressionconditional-expression:
logical-OR-expressionlogical-OR-expression ? expression : conditional-expression
assignment-expression:
conditional-expressionunary-expression assignment-operator assignment-expression
postfix-expression:
primary-expressionpostfix-expression [ expression ]
postfix-expression ( argument-expression-list opt**)**
postfix-expression . identifier
postfix-expression –> identifier
postfix-expression ++
postfix-expression ––
argument-expression-list:
assignment-expressionargument-expression-list , assignment-expression
unary-expression:
postfix-expression++ unary-expression
–– unary-expression
unary-operator
cast-expression
sizeof unary-expression
sizeof ( type-name )
unary-operator: one of
& * + – ~ !cast-expression:
unary-expression( type-name ) cast-expression
multiplicative-expression:
cast-expressionmultiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
additive-expression:
multiplicative-expressionadditive-expression + multiplicative-expression
additive-expression – multiplicative-expression
shift-expression:
additive-expressionshift-expression << additive-expression
shift-expression >> additive-expression
relational-expression:
shift-expressionrelational-expression < shift-expression
relational-expression > shift-expression relational-expression <= shift-expression
relational-expression >= shift-expression
equality-expression:
relational-expressionequality-expression == relational-expression
equality-expression != relational-expression
AND-expression:
equality-expressionAND-expression & equality-expression
exclusive-OR-expression:
AND-expressionexclusive-OR-expression ^ AND-expression
inclusive-OR-expression:
exclusive-OR-expressioninclusive-OR-expression | exclusive-OR-expression
logical-AND-expression:
inclusive-OR-expressionlogical-AND-expression && inclusive-OR-expression
logical-OR-expression:
logical-AND-expressionlogical-OR-expression || logical-AND-expression