Rzutowanie typu jest sposobem na konwersję zmiennej z jednego typu danych do innego typu danych. Na przykład, jeśli chcesz przechowywać długą wartość w prostej liczbie całkowitej, możesz przekształcić typecast long na int. Możesz konwertować wartości z jednego typu na drugi jawnie używając operatora rzutowania. Istnieją dwa typy rzutowania typu w języku c, które są konwersjami implicite i konwersjami explicite. W tym artykule dowiemy się również o różnicy między rzutowaniem typu a konwersją typu.
Nowy typ danych powinien być wymieniony przed nazwą zmiennej lub wartości w nawiasach, która ma być rzutowana.
Przykładowy program rzutowania typu C:
W poniższym programie C, 7/5 samo w sobie da wartość całkowitą jako 1.
Więc rzutowanie typu jest wykonywane przed podziałem, aby zachować wartość float (1.4).
Wyjście:
1.400000
Konwersja wyrażenia danego typu na inny typ jest znana jako rzutowanie typu. rzutowanie typu jest bardziej użyteczne w programowaniu w języku c.
W tym przypadku najlepszą praktyką jest konwersja niższego typu danych na wyższy typ danych, aby uniknąć utraty danych.
Dane zostaną obcięte, gdy wyższy typ danych zostanie przekonwertowany na niższy. Na przykład, jeśli float zostanie przekonwertowany na int, dane, które są obecne po kropce dziesiętnej, zostaną utracone.
Istnieją dwa typy rzutowania typów w języku c.
Typy rzutowania typów w języku C
Implicit conversion
Implicit conversions nie wymagają żadnego operatora dla konwertowanych. Są one wykonywane automatycznie, gdy wartość jest kopiowana do zgodnego typu w programie.
Tutaj wartość a została awansowana z int do double i nie musieliśmy określać żadnego operatora rzutowania typu. Jest to znane jako konwersja standardowa.
Przykład :-
Output:-
implicit value is 20.
Konwersja jawna
W języku C wiele konwersji, zwłaszcza tych, które implikują inną interpretację wartości, wymaga konwersji jawnej. Widzieliśmy już dwie notacje dla jawnej konwersji typu.
Nie są one wykonywane automatycznie, gdy wartość jest kopiowana do zgodnego typu w programie.
Przykład :-
Output:-
Wartość jawna to 20.
Usual Arithmetic Conversion
Zwykłe konwersje arytmetyczne są niejawnie wykonywane w celu obsadzenia ich wartości we wspólnym typie, C używa zasady, że we wszystkich wyrażeniach z wyjątkiem przypisania, wszelkie niejawne konwersje typu wykonane z typu o niższym rozmiarze do typu o wyższym rozmiarze, jak pokazano poniżej:
Wbudowane funkcje rzutowania typów w języku C:
W języku C dostępnych jest wiele wbudowanych funkcji rzutowania typów, które wykonują konwersję typu danych z jednego typu na inny.
Ostatnio przeprowadzamy ankietę wśród różnych programistów, którzy są dostępni w mediach społecznościowych google plus. Przeprowadziliśmy ankietę dotyczącą rzutowania typów w języku c.
Różnica między rzutowaniem typów a konwersją typów
Gdy istnieje potrzeba konwersji jednego typu danych na inny, dwa terminy przychodzą nam do głowy „rzutowanie typów” i „konwersja typów”. Kiedy dwa typy są ze sobą zgodne, wtedy konwersja jednego typu na drugi jest wykonywana automatycznie przez kompilator, który jest zimną konwersją typu, ale pamięta, że możemy przechowywać duży typ danych w innym typie, na przykład nie możemy przechowywać float w int, ponieważ float jest większy niż int. natomiast typecasting musi być wyraźnie wykonany przez programistę.
.