Type Casting in der Sprache C

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.

1 #include <stdio.h>
2 int main ()
3 {
4 float x;
5 x = (float) 7/5;
6 printf(„%f“,x);
7 }

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

S.Nein Arten der Typisierung in der C-Programmierung
1 Implizite Konvertierung
2 Explizite Konvertierung

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:-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 double p;
7 clrscr();
8
9 p=i; // implizite Umrechnung
10
11 printf(„impliziter Wert ist %d“,p);
12
13 getch();
14 }

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:-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 short p;
7 clrscr();
8
9 p = (short) i; // Explizite Umwandlung
10
11 printf(„Expliziter Wert ist %d“,p);
12
13 getch();
14 }

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:

Type Casting in der Sprache C

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.

S.Nr Typecast-Funktion Beschreibung
1 atof() String in Float umwandeln
2 atoi() Konvertiere String in int
3 atol() Konvertiere String in long
4 itoa() Konvertieren von int in string
5 ltoa() Konvertieren long to string

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.

BASIS FÜR DEN VERGLEICH TYPE CASTING TYPE CONVERSION
Definition Wenn ein Benutzer einen Datentyp in einen anderen umwandeln kann, dann nennt man das Typecasting. Typkonvertierung ist das, was einen Datentyp automatisch in einen anderen umwandelt.
Implementiert Implementiert auf zwei ‚inkompatible‘ Datentypen. Implementiert nur, wenn zwei Datentypen ‚kompatibel‘ sind.
Operator Für das Casting eines Datentyps in einen anderen ist ein Casting-Operator ‚()‘ erforderlich. Kein Operator erforderlich.
Implementiert Es wird beim Programmentwurf gemacht. Es wird explizit während des Kompilierens gemacht.
Konvertierungstyp Einschränkende Konvertierung. Erweiternde Konvertierung.
Beispiel int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a; // Wert in y=3.000.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.