Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind implizite Typkonvertierungen und explizite Typkonvertierungen in der C-Sprache?

Was sind implizite Typkonvertierungen und explizite Typkonvertierungen in der C-Sprache?

PHPz
PHPznach vorne
2023-09-08 22:13:011065Durchsuche

Das Konvertieren eines Datentyps in einen anderen wird als Typkonvertierung bezeichnet.

  • Implizite Typkonvertierung
  • Explizite Typkonvertierung
  • ul>

    Implizite Typkonvertierung

    • Der Compiler bietet eine implizite Typkonvertierung, wenn die Operanden unterschiedliche Datentypen haben.

    • Dies geschieht automatisch durch den Compiler, indem er kleinere Datentypen in größere Datentypen konvertiert.

    int i,x;
    float f;
    double d;
    long int l;

    Was sind implizite Typkonvertierungen und explizite Typkonvertierungen in der C-Sprache?

    Hier ergibt der obige Ausdruck schließlich einen „doppelten“ Wert.

    Beispiel

    Das Folgende ist ein Beispiel für eine implizite Typkonvertierung:

    int x;
    for(x=97; x<=122; x++){
       printf("%c", x); /*Implicit casting from int to char %c*/
    }

    Explizite Typkonvertierung

    • Die explizite Typkonvertierung wird vom Benutzer mithilfe des (Typ-)Operators durchgeführt.

    • Vor der Konvertierung wird eine Laufzeitprüfung durchgeführt, um zu sehen, ob der Zieltyp den Quellwert enthalten kann.

    int a,c;
    float b;
    c = (int) a + b

    Hier wird das Ergebnis von 'a+b' explizit in 'int' umgewandelt und dann 'c' zugewiesen.

    Beispiel

    Das Folgende ist eine Beispielkonvertierung eines expliziten Typs -

    int x;
    for(x=97; x<=122; x++){
       printf("%c", (char)x); /*Explicit casting from int to char*/
    }

    Lassen Sie uns den Unterschied zwischen zwei Typkonvertierungen anhand eines Beispiels verstehen -

    Beispiel (implizite Konvertierung)

    Live-Demonstration

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

    Ausgabe

    Implicit value:40.000000

    Beispiel (explizite Konvertierung)

    Live-Demonstration

    #include<stdio.h>
    main(){
       int i=40;
       short a;
       //Explicit conversion
       a=(short)i;
       printf("explicit value:%d</p><p>",a);
    }

    Ausgabe

    Explicit value:40

Das obige ist der detaillierte Inhalt vonWas sind implizite Typkonvertierungen und explizite Typkonvertierungen in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen