« Programmation C/Opérateurs » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 143 :
C'est un concept quelque peu sibyllin du C. Incrémenter ou décrémenter de un est une opération extrêmement courante. Écrire à chaque fois '<code>variable = variable + 1</code>' peut-être très pénible à longue. Le langage C a donc introduit des opérateurs raccourcis pour décrémenter ou incrémenter n'importe quel type atomique (gérable directement par le processeur : c'est à dire pas un tableau, ni une structure ou une union). Il s'agit des opérateurs '<code>++</code>' et '<code>--</code>', qui peuvent être utilisés de manière préfixée ou postfixée (avant ou après la variable).
 
Utilisé de manière préfixée, l'opérateur modifie d'abordretourne la variable, puis utilise cette nouvelle valeur dans l'expressionincrémentée, tandis qu'utilisé de manière postfixée, la valeur de la variable n'est modifiée qu'à la fin de l'expression,opérateur qui utilise doncretourne la valeur courante de la variable. Exemplesoriginale :
 
<source lang="c">
Ligne 152 :
</source>
 
À noter que le langage ne garantit que la variable incrémentée n'aura sa nouvelle valeur qu'une fois le prochain point de séquencement atteint (généralement la fin d'une instruction). Ainsi, si l'objet sur lequel s'applique un tel opérateur apparaît plusieurs fois avant un point de séquencement (généralement la fin d'une instruction), alors le résultat est imprévisible. Le code qui suit est '''imprévisible''' et son comportement peut changer simplement en changeant les options d'un même compilateur&nbsp;:
 
{{Erreur volontaire|nombre=3}}