Freigeben über


Typumwandlungskonvertierungen

Typumwandlungen können Sie verwenden, um Typen explizit zu konvertieren.

Syntax

  • Umwandlungsausdruck:
    unärer Ausdruck

    ( Typnamen ) Umwandlungsausdruck

  • Typname:
    Spezifizierer-QualifiziererListe abstrakter Deklarator opt

Der Typname ist ein Typ und Umwandlungsausdruck ist ein in diesen Typ konvertiert zu verwendende Wert.Ein Ausdruck mit einer Typumwandlung ist kein l-Wert dar.Der Umwandlungsausdruck konvertiert wird, als wäre er auf eine Variable des Typs für den Typnamen einerzugewiesen worden wäre.Die Konvertierungsregeln für die Zuweisungen (erläutert in Zuweisungs-Konvertierungengelten auch für Typumwandlungen).In der folgenden Tabelle werden die Typen an, die zu einem beliebigen angegebenen Typ umgewandelt werden können.

Gültige Typumwandlungen

Zieltyp

Mögliche Quellen

Ganzzahlige Typen

Ein beliebiger ganzzahliger Typ oder Gleitkommatyp oder Zeiger auf ein Objekt

float

Ein arithmetischer Typ

Ein Zeiger auf ein Objekt oder (void *)

Ein beliebiger ganzzahliger Typ (void *), ein Zeiger auf ein Objekt oder einen Funktionszeiger

Funktionszeiger

Ein beliebiger ganzzahliger Typ, ein Zeiger auf ein Objekt oder einen Funktionszeiger

Eine Struktur, Union oder ein Array

None

Ungültiger Typ

Beliebiger Typ

Jeder Bezeichner kann void-Typ umgewandelt werden.Wenn jedoch der Typ, der in einem Ausdruck Typumwandlungs nicht angegeben ist, voidist, gibt der Bezeichner, der auf diesen Typ nicht mit dem kann ein umgewandelt wird, void Ausdruck.Jeder Ausdruck kann voidumgewandelt werden, sondern ein Ausdruck vom Typ void kann nicht in einen beliebigen anderen Typ umgewandelt werden.Beispielsweise kann eine Funktion mit void Rückgabetyp die Rückgabe umwandlung nicht in einen anderen Typ aufweisen.

Beachten Sie, dass ein void * Ausdruck hat einen Typ pointer zu void, nicht Typ void.Wenn ein Objekt in void-Typ umgewandelt wird, kann der resultierende Ausdruck nicht zu einem Element zugewiesen werden.Ebenso ist ein Typumwandlungs Objekt kein zulässiger l-Wert, sodass keine Zuweisung zu einem Typumwandlungs Objekt durchgeführt werden.

Microsoft-spezifisch

Eine Typumwandlung kann ein L-Werts-Ausdruck handeln, solange die Größe des Bezeichners nicht ändert.Weitere Informationen über L-Werts-Ausdrücke finden Sie unter L-Werts-und R-Werts-Ausdrücke.

Microsoft ENDES bestimmten

Sie können einen Ausdruck void konvertieren, um mit einer Typumwandlung einzugeben, aber der sich ergebende Ausdruck kann nur verwendet werden, wo ein Wert nicht erforderlich ist.Ein Objektzeiger, der void * und zurück in den ursprünglichen Typ konvertiert wird auf den ursprünglichen Wert zurück.

Siehe auch

Konzepte

Typkonvertierungen (C)