Maison > Article > développement back-end > Que sont les conversions de type implicites et les conversions de types explicites en langage C ?
La conversion d'un type de données en un autre est appelée conversion de type.
Le compilateur fournit une conversion de type implicite lorsque les opérandes ont des types de données différents.
Cela est effectué automatiquement par le compilateur en convertissant les types de données plus petits en types de données plus grands.
int i,x; float f; double d; long int l;
Ici, l'expression ci-dessus est finalement évaluée à une valeur "double".
Ce qui suit est un exemple de conversion de type implicite -
int x; for(x=97; x<=122; x++){ printf("%c", x); /*Implicit casting from int to char %c*/ }
La conversion de type explicite est effectuée par l'utilisateur à l'aide de l'opérateur (type).
Avant d'effectuer la conversion, une vérification d'exécution est effectuée pour voir si le type cible peut contenir la valeur source.
int a,c; float b; c = (int) a + b
Ici, le résultat de 'a+b' est explicitement converti en 'int' puis affecté à 'c'.
Ce qui suit est un exemple de conversion de type explicite -
int x; for(x=97; x<=122; x++){ printf("%c", (char)x); /*Explicit casting from int to char*/ }
Comprenons la différence entre deux conversions de type à travers un exemple -
Démonstration en direct
#include<stdio.h> main(){ int i=40; float a; //Implicit conversion a=i; printf("implicit value:%f</p><p>",a); }
Implicit value:40.000000
Démo en direct
#include<stdio.h> main(){ int i=40; short a; //Explicit conversion a=(short)i; printf("explicit value:%d</p><p>",a); }
Explicit value:40
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!