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 |
() []
->
.
++ 1 -- 2 |
G |
15 |
! ~
++ 3 -- 4
- 5 + 6 * 7 & 8 sizeof |
D |
14 |
conversion |
D |
13 |
* 9 / % |
G |
12 |
+ - |
G |
11 |
<< >> |
G |
10 |
< <= > >= |
G |
9 |
== != |
G |
8 |
& 10 |
G |
7 |
^ |
G |
6 |
| |
G |
5 |
&& |
G |
4 |
|| |
G |
3 |
?: |
D |
2 |
= += -= *= /= %= >>= <<= &= ^= |= |
D |
1 |
, |
G
|
|
- 1 postfixé
- 2 postfixé
- 3 préfixé
- 4 préfixé
- 5 unaire
- 6 unaire
- 7 indirection
- 8 adresse de
- 9 multiplication
- 10 et bit bit
|
Sous-sections
Matthieu Moy
2012-06-20