Typové obsazení v jazyce C

Typové obsazení je způsob převodu proměnné z jednoho datového typu na jiný datový typ. Pokud například chcete uložit hodnotu long do jednoduchého celého čísla, pak můžete typecastovat long na int. Hodnoty z jednoho typu na jiný můžete převést explicitně pomocí operátoru cast. V jazyce c existují dva typy typových převodů, kterými jsou implicitní převody a explicitní převody. V tomto článku se také dozvíme, jaký je rozdíl mezi typem casting a typem konverze.

Nový datový typ by měl být uveden před názvem proměnné nebo hodnoty v závorce, která má být typecastována.

Příklad programu pro typové obsazení:

V níže uvedeném programu v jazyce C se při samotném dělení 7/5 získá celočíselná hodnota 1.
Pro zachování hodnoty float (1,4) se tedy před dělením provede typové obsazení.

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

Výstup:
1.400000

Převedení výrazu daného typu na jiný typ se nazývá type casting. typecasting se více používá při programování v jazyce c.

Zde je nejlepší postup převést nižší datový typ na vyšší datový typ, aby nedošlo ke ztrátě dat.

Data budou při převodu vyššího datového typu na nižší zkrácena. Například pokud se float převede na int, ztratí se data, která se nacházejí za desetinnou čárkou.

V jazyce c existují dva typy typování.

Typy typování v jazyce C

.

S.Ne Typy typového obsazení v programování jazyka C
1 Implicitní konverze
2 Explicitní konverze

Implicitní konverze

Implicitní konverze nevyžadují žádný operátor pro konvertované. Provádějí se automaticky při kopírování hodnoty na kompatibilní typ v programu.

Zde byla hodnota a povýšena z int na double a nemuseli jsme uvádět žádný operátor pro převod typu. Tomu se říká standardní konverze.

Příklad :-

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; // implicitní převod
10
11 printf(„implicitní hodnota je %d“,p);
12
13 getch();
14 }

Výstup:-
implicitní hodnota je 20.

Explicitní konverze

V jazyce C vyžaduje mnoho konverzí, zejména těch, které znamenají jinou interpretaci hodnoty, explicitní konverzi. Již jsme se setkali se dvěma zápisy pro explicitní konverzi typu

Ty se neprovádějí automaticky, když je hodnota v programu kopírována na kompatibilní typ.

Příklad :-

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; // Explicitní převod
10
11 printf(„Explicitní hodnota je %d“,p);
12
13 getch();
14 }

Výstup:-
Explicitní hodnota je 20.

Jednotlivé aritmetické konverze

Obvyklé aritmetické konverze se implicitně provádějí pro obsazení jejich hodnot ve společném typu, C používá pravidlo, že ve všech výrazech s výjimkou přiřazení se veškeré implicitní typové konverze provádějí z typu nižší velikosti na typ vyšší velikosti, jak je uvedeno níže:

Typový casting v jazyce C

Vestavěné funkce typového castingu v jazyce C:

V jazyce C je k dispozici mnoho vestavěných funkcí typového castingu, které provádějí převod datového typu z jednoho typu na jiný.

.

S.Ne Funkce pro převádění typů Popis
1 atof() Převést string na Float
2 atoi() Převést řetězec na int
3 atol() Převést řetězec na long
4 itoa() Převod int na string
5 ltoa() Převod long na string

Nedávno jsme dělali průzkum mezi různými programátory, kteří jsou k dispozici na sociálních sítích google plus. Udělali jsme průzkum pro typ casting v jazyce c.

Rozdíl mezi type casting a type conversion

Kdykoli je potřeba převést jeden datový typ na jiný, napadnou nás dva pojmy „typecasting“ a „type conversion“. Pokud jsou oba typy navzájem kompatibilní, pak převod jednoho typu na druhý provede automaticky překladač, což je studená typová konverze, ale pamatuje si, že můžeme uložit velký datový typ do druhého, například nemůžeme uložit float do int, protože float je větší než int. kdežto typecasting musí explicitně provést programátor.

ZÁKLAD PRO POROVNÁNÍ PŘEVOD TYPŮ PŘEVOD TYPŮ
Definice Když uživatel může převést jeden datový typ na jiný, pak se to nazývá jako typecasting. Konverze typu je taková, která automaticky převádí jeden datový typ na jiný.
Vykonává se Vykonává se na dvou „nekompatibilních“ datových typech. Vykonává se pouze tehdy, když jsou dva datové typy „kompatibilní“.
Operátor Pro vrhání datového typu na jiný je vyžadován operátor vrhání „()“. Není vyžadován žádný operátor.
Implementováno Provádí se při návrhu programu. Provádí se explicitně při kompilaci.
Typ konverze Zužující konverze. Široká konverze.
Příklad int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a; // hodnota v y=3.000.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.