Konwersje typu rzutowania
Jawne konwertowanie typów, można użyć typu poświaty.
Składnia
wyrażenie oddanych:
wyrażenie jednoargumentowy( type-name ) cast-expression
Nazwa typu:
niewłaściwy listy qualifier specyfikatora abstrakcyjna deklarator opt
Nazwa typu jest typem i wyrażenie oddanych jest wartość są konwertowane na tego typu.Wyrażenie z wytopu typu nie jest l wartość.Wyrażenie oddanych jest konwertowane tak, jakby miał przypisane do zmiennej typu Nazwa typu.Reguły konwersji dla przydziałów (opisane w Konwersje przydziału) stosuje się do typu jak również poświaty.Poniższej tabeli przedstawiono typy, które mogą zostać oddane do dowolnego typu.
Prawne poświaty typu
Typy przeznaczenia |
Potencjalne źródła |
---|---|
Typy zintegrowane |
Każdy typ integer lub zmiennoprzecinkowych typu lub wskaźnik do obiektu |
Zmiennoprzecinkowe |
Każdy typ arytmetyczny |
Wskaźnik do obiektu, lub (void *) |
Każdy typ integer (void *), wskaźnik do obiektu lub wskaźnik funkcji |
Wskaźnik funkcji |
Dowolny typ integralną, wskaźnik do obiektu lub wskaźnik funkcji |
Struktura, Unii lub tablicy |
Brak |
Typu void |
Dowolny typ |
Każdy identyfikator można rzutować na void typu.Jednakże, jeśli określono typ wyrażeniem rzutowania typu nie jest void, a następnie jest identyfikator rzutować na typ nie jest void wyrażenie.Każde wyrażenie można rzutować na void, ale wyrażenie typu void nie można rzutować na innego typu.Na przykład funkcja z void zwraca typ nie może mieć jego zwrot oddanych do innego typu.
Należy zauważyć, że void * wyrażenie ma wskaźnika typu do void, nie wpisuj void.Jeśli obiekt jest oddanych do void typu, wyrażenie będące wynikiem nie można przypisywać do każdego elementu.Podobnie obiekt typu rzutowania nie jest l wartością dopuszczalną, więc przypisania nie jest możliwe do obiektu typu rzutowania.
Programu Microsoft
Rzutowanie typu może być wyrażenie wartości l, tak długo, jak długo nie zmienia rozmiar identyfikatora.Informacji na temat wyrażeń l wartości, zobacz L-wartość i wartość wyrażenia.
KONIEC Microsoft szczególne
Wpisz wyrażenie można przekonwertować void z wytopu, ale wyrażenie będące wynikiem może być używana tylko wtedy, gdy wartość nie jest wymagane.Wskaźnik do obiektu są konwertowane na void * i wróć do oryginalnego typu powróci do swojej oryginalnej wartości.