Maison >développement back-end >C++ >Que sont les conversions de type implicites et les conversions de types explicites en langage C ?

Que sont les conversions de type implicites et les conversions de types explicites en langage C ?

PHPz
PHPzavant
2023-09-08 22:13:011123parcourir

La conversion d'un type de données en un autre est appelée conversion de type.

  • Conversion de type implicite
  • Conversion de type explicite
  • ul>

    Conversion de type implicite

    • 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;

    Que sont les conversions de type implicites et les conversions de types explicites en langage C ?

    Ici, l'expression ci-dessus est finalement évaluée à une valeur "double".

    Exemple

    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*/
    }

    Conversion de type explicite

    • 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'.

    Exemple

    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 -

    Exemple (conversion implicite)

    Démonstration en direct

    #include<stdio.h>
    main(){
       int i=40;
       float a;
       //Implicit conversion
       a=i;
       printf("implicit value:%f</p><p>",a);
    }

    Sortie

    Implicit value:40.000000

    Exemple (conversion explicite)

    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);
    }

    Sortie

    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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer