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
Libérer: 2023-09-08 22:13:01
avant
1263 Les gens l'ont consulté

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;
    Copier après la connexion

    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*/
    }
    Copier après la connexion

    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
    Copier après la connexion

    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*/
    }
    Copier après la connexion

    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);
    }
    Copier après la connexion

    Sortie

    Implicit value:40.000000
    Copier après la connexion

    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);
    }
    Copier après la connexion

    Sortie

    Explicit value:40
    Copier après la connexion

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal