Type Casting ist eine Möglichkeit, eine Variable von einem Datentyp in einen anderen Datentyp zu konvertieren. Wenn Sie zum Beispiel einen Long-Wert in einer einfachen Ganzzahl speichern wollen, können Sie long in int umwandeln. Mit dem Cast-Operator können Sie Werte explizit von einem Typ in einen anderen umwandeln. Es gibt zwei Arten von Typ-Casting in der Sprache C, nämlich implizite Konvertierungen und explizite Konvertierungen. In diesem Artikel lernen wir auch den Unterschied zwischen Type Casting und Type Conversions kennen.
Der neue Datentyp sollte vor dem Variablennamen oder dem Wert in Klammern angegeben werden, der gecastet werden soll.
C type casting Beispielprogramm:
In dem untenstehenden C-Programm wird 7/5 allein den Integer-Wert 1 ergeben.
So, type cast wird vor der Division gemacht, um den Float-Wert (1.4) zu erhalten.
Ausgabe:
1.400000
Das Konvertieren eines Ausdrucks eines bestimmten Typs in einen anderen Typ wird als Typecasting bezeichnet. Typecasting wird vor allem in der C-Programmierung verwendet.
Hier ist es am besten, einen niedrigeren Datentyp in einen höheren Datentyp zu konvertieren, um Datenverluste zu vermeiden.
Daten werden abgeschnitten, wenn der höhere Datentyp in einen niedrigeren konvertiert wird. Zum Beispiel, wenn ein Float in int konvertiert wird, gehen Daten, die nach dem Dezimalpunkt vorhanden sind, verloren.
Es gibt zwei Arten von Typecasting in der Sprache C.
Typen von Typecasting in C
Implizite Konvertierung
Implizite Konvertierungen erfordern keinen Operator für die Umwandlung. Sie werden automatisch durchgeführt, wenn ein Wert im Programm in einen kompatiblen Typ kopiert wird.
Hier wurde der Wert von a von int in double umgewandelt und wir mussten keinen Operator für die Typumwandlung angeben. Dies ist als Standardkonvertierung bekannt.
Beispiel:-
Ausgabe:
Impliziter Wert ist 20.
Explizite Konvertierung
In der Sprache C erfordern viele Konvertierungen, insbesondere solche, die eine andere Interpretation des Wertes implizieren, eine explizite Konvertierung. Wir haben bereits zwei Notationen für explizite Typumwandlungen gesehen.
Sie werden nicht automatisch durchgeführt, wenn ein Wert im Programm in einen kompatiblen Typ kopiert wird.
Beispiel:-
Output:
Der explizite Wert ist 20.
Gewöhnliche arithmetische Konvertierung
Die üblichen arithmetischen Konvertierungen werden implizit durchgeführt, um ihre Werte in einen gemeinsamen Typ zu gießen, C verwendet die Regel, dass in allen Ausdrücken, außer Zuweisungen, alle impliziten Typkonvertierungen von einem Typ niedrigerer Größe zu einem Typ höherer Größe vorgenommen werden, wie unten gezeigt:
Eingebaute Typecast-Funktionen in C:
Es gibt viele eingebaute Typecast-Funktionen in der Sprache C, die eine Datentypkonvertierung von einem Typ in einen anderen durchführen.
Wir haben kürzlich eine Umfrage unter verschiedenen Programmierern durchgeführt, die in den sozialen Medien von Google Plus verfügbar sind. Wir haben eine Umfrage zum Type Casting in der Sprache C durchgeführt.
Unterschied zwischen Type Casting und Type Conversion
Wenn es notwendig ist, einen Datentyp in einen anderen umzuwandeln, kommen uns die beiden Begriffe „Type Casting“ und „Type Conversion“ in den Sinn. Wenn die beiden Typen miteinander kompatibel sind, dann wird die Konvertierung eines Typs in den anderen automatisch vom Compiler durchgeführt, das ist kalte Typkonvertierung, aber wir erinnern uns, dass wir einen großen Datentyp in den anderen speichern können, zum Beispiel können wir einen Float nicht in int speichern, weil ein Float größer als int ist, während das Typecasting explizit vom Programmierer durchgeführt werden muss.