C- TypeCasting

C- TypeCasting

Pretvorba tipov v C je postopek pretvorbe ene podatkovne vrste v drugo podatkovno vrsto, ki jo izvaja programer z uporabo operaterja pretvorbe med načrtovanjem programa.

Pri pretvorbi tipa je lahko ciljni podatkovni tip manjši od izvornega podatkovnega tipa, ko se podatkovni tip pretvarja v drug podatkovni tip, zato se imenuje tudi zožitvena pretvorba.

Sintaksa:

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

Vrste vlivanja tipov v C

V C obstajata dve glavni vrsti za izvajanje ulitja tipov.

Ulivanje tipa v C
  • Implicitno ulivanje tipa
  • Eksplicitno ulivanje tipa

1. Implicitno ulivanje tipov

Implicitno prevajanje tipa v C se uporablja za pretvorbo podatkovnega tipa katere koli spremenljivke brez uporabe dejanske vrednosti, ki jo ima spremenljivka. Izvaja pretvorbe brez spreminjanja vrednosti, ki so shranjene v podatkovni spremenljivki. Pretvorba nižje vrste podatkov v višjo vrsto podatkov bo izvedena samodejno.

Celoštevilsko promocijo bo najprej izvedel prevajalnik. Po tem bo ugotovil, ali imata dva od operandov različne vrste podatkov. Z uporabo spodnje hierarhije bi bila pretvorba prikazana takole, če imata oba različne vrste podatkov:

Implicitno ulivanje tipov

2. Eksplicitno ulivanje tipov

V nekaterih primerih lahko podatkovni tip, če ostane nespremenjen, daje napačen izhod. V takšnih primerih lahko pretvorba tipov pomaga dobiti pravilen rezultat in skrajša čas prevajanja. Pri eksplicitnem pretvorbi tipa moramo vsiliti pretvorbo med tipi podatkov. Tovrstno ulivanje je izrecno definirano v programu.

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

Izhod:

The result is 7.000000 

Pojasnilo: Tu je dejanski potreben rezultat 7,500000 , ampak rezultat je 7,000000 . Eden od načinov za pridobitev pravilnega izhoda je sprememba vrste podatkov dane spremenljivke. Toda pravilen izpis je mogoče narediti tudi z tipkanje . To je sestavljeno iz dajanja para oklepajev okoli imena podatkovnega tipa, kot je delitev = (float) a/b .

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

Izhod

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

Pojasnilo: V zgornjem programu C je izraz (dvojno) pretvori spremenljivko a iz tipa int tipkati dvojno pred operacijo.

V programiranju C je 5 vgrajenih funkcij za ulivanje tipov.

  • atof(): Ta funkcija se uporablja za pretvorbo podatkovnega tipa niz v podatkovni tip float.
  • atbol(): Ta funkcija se uporablja za pretvorbo podatkovnega tipa niz v dolgi podatkovni tip.
  • Duši (): Ta funkcija se uporablja za pretvorbo dolgega podatkovnega tipa v nizovni podatkovni tip.
  • itoba() : Ta funkcija se uporablja za pretvorbo podatkovnega tipa int v nizovni podatkovni tip.
  • vleka() : Ta podatkovni tip se uporablja za pretvorbo podatkovnega tipa niz v podatkovni tip int.

Prednosti tipskega litja

  • Ulivanje tipov v programiranju C naredi program zelo lahek.
  • Predstavitev tipa in hierarhije so nekatere funkcije, ki jih lahko izkoristimo s pomočjo pretvorbe tipov.
  • Pretvorba tipov programerjem pomaga pri pretvorbi ene podatkovne vrste v drugo podatkovno vrsto.