logo

C- TypeCasting

Typecasting C:ssä on prosessi, jossa ohjelmoija muuntaa yhden tietotyypin toiseksi tietotyypiksi valuoperaattorilla ohjelman suunnittelun aikana.

Tyyppilähetyksessä kohdetietotyyppi voi olla pienempi kuin lähdetietotyyppi, kun tietotyyppi muunnetaan toiseksi tietotyypiksi, minkä vuoksi sitä kutsutaan myös kaventavaksi muunnokseksi.



Syntaksi:

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

Tyyppivalutyypit C:ssä

C:ssä on kaksi päätyyppiä tyyppivalua varten.

Tyyppi Casting C:llä
  • Implisiittinen tyyppivalu
  • Eksplisiittisen tyypin casting

1. Implisiittinen tyyppivalu

Implisiittistä tyyppivalua C:ssä käytetään minkä tahansa muuttujan tietotyypin muuntamiseen käyttämättä muuttujan todellista arvoa. Se suorittaa muunnokset muuttamatta mitään datamuuttujaan tallennettuja arvoja. Alemman tietotyypin muuntaminen korkeampaan tietotyyppiin tapahtuu automaattisesti.



Kokonaislukupromootio suorittaa ensin kääntäjä. Sen jälkeen se määrittää, onko kahdella operandilla eri tietotyyppejä. Alla olevaa hierarkiaa käytettäessä tulos näyttäisi seuraavalta, jos molemmilla on erilaisia ​​tietotyyppejä:

modeemi vs reititin
Implisiittisen tyypin Casting

2. Explicit Type Casting

Joissakin tapauksissa, jos tietotyyppi pysyy muuttumattomana, se voi antaa virheellisen tulosteen. Tällaisissa tapauksissa typecasting voi auttaa saamaan oikean tuloksen ja lyhentää käännösaikaa. Eksplisiittisen tyypin valussa meidän on pakotettava muunnos tietotyyppien välillä. Tämän tyyppinen valu on nimenomaisesti määritelty ohjelmassa.

Ohjelma 1:



C




relaatioalgebra rdbms:ssä
// 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;> }>

>

>

Lähtö:

The result is 7.000000>

Selitys: Tässä on todellinen tarvittava tuotos 7 500 000 , mutta tulos on 7 000 000 . Joten oikean tulosteen saamiseksi yksi tapa on muuttaa tietyn muuttujan tietotyyppiä. Mutta oikea tulos voidaan tehdä myös konekirjoitus . Tämä koostuu sulkeiden laittamisesta tietotyypin nimen ympärille, kuten jako = (kelluke) a/b .

abstrakti luokka vs käyttöliittymä

Ohjelma 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;> }>

>

java häntä

>

Lähtö

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

Selitys: Yllä olevassa C-ohjelmassa lauseke (kaksinkertainen) muuntaa muuttujan a tyypistä int kirjoittaa kaksinkertainen ennen leikkausta.

C-ohjelmoinnissa on 5 sisäänrakennettua tyyppivalutoimintoa.

  • atof(): Tätä toimintoa käytetään merkkijonotietotyypin muuntamiseen float-tietotyypiksi.
  • atbol(): Tätä toimintoa käytetään merkkijonotietotyypin muuntamiseen pitkäksi tietotyypiksi.
  • Tukehtua(): Tätä toimintoa käytetään muuntamaan pitkä tietotyyppi merkkijonotietotyypiksi.
  • itoba() : Tätä toimintoa käytetään muuntamaan int-tietotyyppi merkkijonotietotyypiksi.
  • hinata () : Tätä tietotyyppiä käytetään merkkijonotietotyypin muuntamiseen int-tietotyypiksi.

Tyyppivalun edut

  • Tyyppivalu C-ohjelmoinnissa tekee ohjelmasta erittäin kevyen.
  • Tyyppiesitys ja hierarkiat ovat ominaisuuksia, joita voimme hyödyntää typecastingin avulla.
  • Tyyppivalinnan avulla ohjelmoijat voivat muuntaa yhden tietotyypin toiseksi tietotyypiksi.