logo

C- TypeCasting

Typecasting C – tai procesas, kai programuotojas, naudodamas liejimo operatorių kurdamas programą, konvertuoja vieną duomenų tipą į kitą duomenų tipą.

Konvertuojant duomenų tipą į kitą duomenų tipą paskirties duomenų tipas gali būti mažesnis nei šaltinio duomenų tipas, todėl tai dar vadinama siaurinimo konversija.



Sintaksė:

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

Tipo liejimo tipai C

C yra du pagrindiniai tipai, skirti atlikti tipo liejimą.

Tipo liejimas C
  • Netiesioginio tipo liejimas
  • Aiškaus tipo liejimas

1. Numanomas tipo liejimas

Netiesioginis tipas C yra naudojamas konvertuoti bet kurio kintamojo duomenų tipą, nenaudojant tikrosios kintamojo vertės. Ji atlieka konversijas nekeisdama jokių reikšmių, saugomų duomenų kintamajame. Žemesnio tipo duomenų konvertavimas į aukštesnį duomenų tipą įvyks automatiškai.



Kompiliatorius pirmiausia atliks sveikųjų skaičių reklamą. Po to bus nustatyta, ar dviejų operandų duomenų tipai skiriasi. Naudojant toliau pateiktą hierarchiją, konversija būtų rodoma taip, jei abiejų duomenų tipai skiriasi:

java spalvos
Numanomas tipo liejimas

2. Aiškus tipo perdavimas

Kai kuriais atvejais, jei duomenų tipas lieka nepakitęs, jis gali pateikti neteisingą išvestį. Tokiais atvejais rašymas gali padėti gauti teisingą išvestį ir sutrumpinti kompiliavimo laiką. Atliekant aiškų tipą, turime priversti konvertuoti duomenų tipus. Šis liejimo tipas yra aiškiai apibrėžtas programoje.

1 programa:



C




fizzbuzz java
// 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;> }>

>

>

Išvestis:

The result is 7.000000>

Paaiškinimas: Čia faktinė reikalinga produkcija yra 7 500 000 , bet rezultatas toks 7 000 000 . Taigi, norint gauti teisingą išvestį, vienas iš būdų yra pakeisti tam tikro kintamojo duomenų tipą. Tačiau teisingą išvestį taip pat galima atlikti spausdinimas . Tai susideda iš skliaustų poros aplink duomenų tipo pavadinimą, pvz., padalijimas = (plūdė) a/b .

tai yra

2 programa:

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

>

string a int

>

Išvestis

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

Paaiškinimas: Aukščiau pateiktoje C programoje išraiška (dvigubas) konvertuoja kintamąjį a iš tipo tarpt rinkti tekstą dvigubai prieš operaciją.

C programavimuose yra 5 įmontuotos tipo liejimo funkcijos.

  • atof(): Ši funkcija naudojama konvertuoti eilutės duomenų tipą į plūduriuojančių duomenų tipą.
  • atbol(): Ši funkcija naudojama konvertuoti eilutės duomenų tipą į ilgą duomenų tipą.
  • Droselis (): Ši funkcija naudojama konvertuoti ilgą duomenų tipą į eilutės duomenų tipą.
  • itoba () : Ši funkcija naudojama konvertuoti int duomenų tipą į eilutės duomenų tipą.
  • vilkti () : Šis duomenų tipas naudojamas konvertuoti eilutės duomenų tipą į int duomenų tipą.

Tipo liejimo privalumai

  • Tipo liejimas C programavimu daro programą labai lengvą.
  • Tipo vaizdavimas ir hierarchijos yra kai kurios funkcijos, kuriomis galime pasinaudoti naudodamiesi tipo siuntimu.
  • Tipo liejimas padeda programuotojams konvertuoti vieną duomenų tipą į kitą duomenų tipą.