logo

C-TypeCasting

Typumwandlung in C ist der Prozess der Konvertierung eines Datentyps in einen anderen Datentyp durch den Programmierer mithilfe des Casting-Operators während des Programmentwurfs.

Bei der Typumwandlung kann der Zieldatentyp kleiner sein als der Quelldatentyp, wenn der Datentyp in einen anderen Datentyp konvertiert wird. Aus diesem Grund wird dies auch als einschränkende Konvertierung bezeichnet.



Syntax:

int x; float y; y = (float) x;>

Arten des Typcastings in C

In C gibt es zwei Haupttypen für die Typumwandlung.

Typguss in C
  • Implizite Typumwandlung
  • Explizite Typumwandlung

1. Implizite Typumwandlung

Die implizite Typumwandlung in C wird verwendet, um den Datentyp einer beliebigen Variablen zu konvertieren, ohne den tatsächlichen Wert zu verwenden, den die Variable enthält. Die Konvertierungen werden durchgeführt, ohne die in der Datenvariablen gespeicherten Werte zu ändern. Die Konvertierung eines niedrigeren Datentyps in einen höheren Datentyp erfolgt automatisch.



Die Ganzzahlheraufstufung wird zuerst vom Compiler durchgeführt. Anschließend wird ermittelt, ob zwei der Operanden unterschiedliche Datentypen haben. Unter Verwendung der folgenden Hierarchie würde die Konvertierung wie folgt aussehen, wenn beide unterschiedliche Datentypen hätten:

govinda
Implizite Typumwandlung

2. Explizite Typumwandlung

In einigen Fällen kann es zu einer falschen Ausgabe kommen, wenn der Datentyp unverändert bleibt. In solchen Fällen kann die Typumwandlung helfen, die richtige Ausgabe zu erhalten und die Kompilierungszeit zu verkürzen. Bei der expliziten Typumwandlung müssen wir die Konvertierung zwischen Datentypen erzwingen. Diese Art der Umwandlung ist im Programm explizit definiert.

Programm 1:



C




// C program to illustrate the use of> // typecasting> #include> > // Driver Code> int> main()> {> >// Given a & b> >int> a = 15, b = 2;> >float> div>;> > >// Division of a and b> >div> = a / b;> > >printf>(>'The result is %f '>,>div>);> > >return> 0;> }>

auch Modell
>

>

Ausgabe:

The result is 7.000000>

Erläuterung: Hier ist die tatsächlich benötigte Ausgabe 7.500.000 , aber das Ergebnis ist 7.000.000 . Um also die richtige Ausgabe zu erhalten, besteht eine Möglichkeit darin, den Datentyp einer bestimmten Variablen zu ändern. Eine korrekte Ausgabe kann aber auch durch erfolgen Typisierung . Dies besteht darin, ein Paar Klammern um den Namen des Datentyps zu setzen, z Division = (Float) a/b .

Liste nach Java sortieren

Programm 2:

C




// C program to showcase the use of> // typecasting> #include> > // Driver Code> int> main()> {> >// Given a & b> >int> a = 15, b = 2;> >char> x =>'a'>;> > >double> div>;> > >// Explicit Typecasting in double> >div> = (>double>)a / b;> > >// converting x implicitly to a+3 i.e, a+3 = d> >x = x + 3;> > >printf>(>'The result of Implicit typecasting is %c '>, x);> > >printf>(>'The result of Explicit typecasting is %f'>,>div>);> > >return> 0;> }>

>

Wie viele Wochen hat ein Monat?
>

Ausgabe

The result of Implicit typecasting is d The result of Explicit typecasting is 7.500000>

Erläuterung: Im obigen C-Programm ist der Ausdruck (doppelt) Konvertiert die Variable a vom Typ int tippen doppelt vor der Operation.

In der C-Programmierung gibt es 5 integrierte Typumwandlungsfunktionen.

  • atof(): Diese Funktion wird zum Konvertieren des String-Datentyps in einen Float-Datentyp verwendet.
  • atbol(): Diese Funktion wird zum Konvertieren des String-Datentyps in einen Long-Datentyp verwendet.
  • Drossel(): Mit dieser Funktion wird der Datentyp „Long“ in den Datentyp „String“ konvertiert.
  • itoba() : Diese Funktion wird verwendet, um einen int-Datentyp in einen String-Datentyp zu konvertieren.
  • Abschleppen() : Dieser Datentyp wird verwendet, um den String-Datentyp in einen Int-Datentyp zu konvertieren.

Vorteile des Typgusses

  • Die Typumwandlung in der C-Programmierung macht das Programm sehr leichtgewichtig.
  • Typdarstellung und Hierarchien sind einige Funktionen, die wir mithilfe der Typumwandlung nutzen können.
  • Typumwandlung hilft Programmierern, einen Datentyp in einen anderen Datentyp umzuwandeln.