Heim > Artikel > Backend-Entwicklung > Was sind implizite Typkonvertierungen und explizite Typkonvertierungen in der C-Sprache?
Das Konvertieren eines Datentyps in einen anderen wird als Typkonvertierung bezeichnet.
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;
Hier ergibt der obige Ausdruck schließlich einen „doppelten“ Wert.
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*/ }
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.
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 -
Live-Demonstration
#include<stdio.h> main(){ int i=40; float a; //Implicit conversion a=i; printf("implicit value:%f</p><p>",a); }
Implicit value:40.000000
Live-Demonstration
#include<stdio.h> main(){ int i=40; short a; //Explicit conversion a=(short)i; printf("explicit value:%d</p><p>",a); }
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!