Respect de la priorite des operateurs
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.c ]
Sujet: Respect de la priorite des operateurs
De: c_cand...@free.fr (candide)
Groupes: fr.comp.lang.c
Organisation: Guest of ProXad - France
Date: 25. Apr 2008, 21:20:32
|
Bonjour,
Soit le programme suivant :
---------- 8< -----------------
int main(void)
{
struct {int tab[5];} toto;
toto.tab[2]=33;
return 0;
}
---------- >8 -----------------
Comment se fait-il que l'affectation
toto.t[2]=33;
soit interprétée "comme il se doit" par le compilateur (gcc), à savoir :
(toto.t)[2]=33;
alors que l'opérateur d'indexation [] a une priorité supérieure à
l'opérateur de sélection directe . en sorte que l'affectation initiale
devrait être comprise comme l'instruction (erronée) suivante :
toto.(t[2])=33;
?
Merci
P.S. Où la norme discute-t-elle de la précédence des opérateurs ? Il y a
un tableau des priorités quelque part ?

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|