Konwersje typu (C)
Konwersje typów zależą od określonego operatora i typu operandu lub operatorów. Konwersje typów są wykonywane w następujących przypadkach:
Gdy wartość jednego typu jest przypisywana do zmiennej innego typu lub operator konwertuje typ operandu lub operandów przed wykonaniem operacji
Gdy wartość jednego typu jest jawnie rzutowania na inny typ
Gdy wartość jest przekazywana jako argument do funkcji lub gdy typ jest zwracany z funkcji
Znak, krótka liczba całkowita lub pole bitowe z liczbą całkowitą, wszystkie znaki lub nie albo obiekt typu wyliczenia, mogą być używane w wyrażeniu, gdzie można użyć niezależnie od liczby całkowitej. Jeśli obiekt int
może reprezentować wszystkie wartości oryginalnego typu, wartość jest konwertowana na int
; w przeciwnym razie jest konwertowana na unsigned int
. Ten proces jest nazywany "podwyższeniem poziomu całkowitego". Promocje całkowite zachowują wartość. Oznacza to, że wartość po podwyższeniu poziomu jest taka sama jak przed podwyższeniem poziomu. Aby uzyskać więcej informacji, zobacz Zwykłe konwersje arytmetyczne.