Na tabela abaixo, os operadores estão em ordem decrescente de precedência: primeiro os mais "urgentes", depois os outros. Na coluna direta está a regra de associação para os operadores da linha.
() [] -> . | esquerda-para-direita | |
operadores unários | - ++ -- ! & * ~ ( type ) sizeof | direita-para-esquerda |
* / % | esquerda-para-direita | |
+ - | esquerda-para-direita | |
<< >> | esquerda-para-direita | |
< <= >= > | esquerda-para-direita | |
== != | esquerda-para-direita | |
& | esquerda-para-direita | |
^ | esquerda-para-direita | |
| | esquerda-para-direita | |
&& | esquerda-para-direita | |
|| | esquerda-para-direita | |
? : | direita-para-esquerda | |
= op= | direita-para-esquerda | |
, | esquerda-para-direita |
Exemplos:
expressão | interpretação |
&x[i] | &(x[i]) |
*p.dia | *(p.dia) |
a[i].b[j] | ((a[i]).b)[j] |
&h->left->right | &((h->left)->right) |
*x++ | *(x++) |