Les situations de conversions
Dans le langage C, les situations où se produisent les conversions sont les
suivantes :
- une valeur d'un certain type est utilisée dans un contexte qui
en demande un autre.
- -
- passage de paramètre : le paramètre effectif n'a pas le
type du paramètre formel ;
- -
- affectation : la valeur à affecter n'a pas le même type
que la variable ;
- -
- valeur rendue par une fonction : l'opérande de return
n'a pas le type indiqué dans la déclaration de la fonction.
- opérateur de conversion : le programmeur demande explicitement
une conversion.
- un opérateur a des opérandes de types différents.
Dans les cas 1 et 2, type de départ et type d'arrivée de la conversion
sont donnés.
Dans le cas 3, par contre, c'est le compilateur qui choisit le type d'arrivée
de la conversion. Il le fait selon des règles soigneusement définies.
Il y en a deux dans le langage C qui portent les noms de « promotion des
entiers » et « conversions arithmétiques habituelles ».
Matthieu Moy
2017-02-08