Priorité et associativité des opérateurs

Pour déterminer la sémantique d'une expression il faut non seulement connaître la priorité des opérateurs mais également leur associativité. En effet, seule la connaissance de l'associativité de l'opérateur == permet de savoir si a == b == c signifie (a == b) == c ou si elle signifie a == (b == c).

Un opérateur a une associativité à droite quand :
a op b op c signifie a op ( b op c).

Un opérateur a une associativité à gauche quand :
a op b op c signifie (a op b) op c.

Nous donnons ci-dessous le tableau exhaustif des opérateurs avec leurs priorités et leurs associativité.

priorité Opérateur Associativité
16 () [] -> . ++ 7.1 -- 7.2 G
15 ! ~ ++ 7.3 -- 7.4 - 7.5 + 7.6 * 7.7 & 7.8 sizeof D
14 conversion D
13 * 7.9 / % G
12 + - G
11 << >> G
10 < <= > >= G
9 == != G
8 & 7.10 G
7 ^ G
6 | G
5 && G
4 || G
3 ?: D
2 = += -= *= /= %= >>= <<= &= ^= |= D
1 , G



Sous-sections
Matthieu Moy 2017-02-08