Re: [gull] Subtilité de C n° 5 : Tableaux et pointeurs, les fossiles
Marc Mongenet
marc at mongenet.ch
Mon May 5 06:24:08 CEST 2008
2008/5/1 Daniel Cordey <dc at mjt.ch>:
> Oui, il est vrait que les [] sont purement informative... leur presence
> devrait nous indiquer que le tableau a une taille fixe, mais comme aucun
> autre mechanisme du langage ne se preoccupe de cette notation, elle ne sert
> pas a grand chose... Ceci mis a part, comme il est possible d'ecrire :
>
> *p++++ = 1;
C'est équivalent à ((*((p++)++)) = 1);
Mais ça ne compile pas car l'opérande de l'opérateur ++ doit être une
lvalue et son résultat n'est pas une lvalue (i++++; ne compile pas non
plus pour cette raison).
On peut en revanche compiler cela (sans le = 1) :
(*p++)++; /* incrémente p et l'objet initialement pointé par p */
ou bien cela :
++*p++; /* incrémente p et l'objet initialement pointé par p */
Marc Mongenet
More information about the gull
mailing list