c/language/operator precedence

The following table lists the precedence and associativity of C operators. Operators are listed top to bottom, in descending precedence.

When parsing an expression, an operator which is listed on some row will be bound tighter (as if by parentheses) to its arguments than any operator that is listed on a row further below it. For example, the expression is parsed as, and not as.

Operators that are in the same cell (there may be several rows of operators listed in a cell) are evaluated with the same precedence, in the given direction. For example, the expression is parsed as, and not as  because of right-to-left associativity.