Deklaratoren und Variablendeklarationen

Im folgenden Abschnitt wird die Form und Bedeutung von Deklarationen für die Variablentypen in dieser Liste beschrieben. Insbesondere wird in den übrigen Abschnitten erklärt, wie Sie Folgendes deklarieren:

Variablentyp Beschreibung
Einfache Variablen Einzelwertvariablen vom Typ "Ganzzahl" oder "Gleitkomma"
Arrays Variablen, die aus einer Auflistung von Elementen mit demselben Typ bestehen
Zeiger Variablen, die auf andere Variablen zeigen und die Speicherorte anderer Variablen (in Form von Adressen) anstelle von Werten enthalten
Enumerationsvariablen Einfache Variablen mit ganzzahligem Typ, die einen Wert aus einem Satz benannter ganzzahliger Konstanten enthalten
Strukturen Variablen, die aus einer Auflistung von Werten bestehen, die unterschiedliche Typen aufweisen können
Unions Variablen, die aus mehreren Werten unterschiedlichen Typs bestehen, die denselben Speicherplatz belegen

Ein Deklarator ist der Teil einer Deklaration, der den Namen angibt, der im Programm eingefügt werden soll. Dies kann Modifizierer wie * (pointer-to) sowie jegliche Microsoft-Schlüsselwörter für die Aufrufkonvention einschließen.

Microsoft-spezifisch

In diesem Deklarator ist

__declspec(thread) char *var;

char der Typspezifizierer, __declspec(thread) und * sind die Modifizierer und var ist der Name des Bezeichners.

Ende Microsoft-spezifisch

Sie verwenden Deklaratoren, um Wertarrays, Zeiger auf Werte und Funktionen, die Werte eines angegebenen Typs zurückgeben, zu deklarieren. Deklaratoren kommen in den Array- und Zeigerdeklarationen vor, die weiter unten in diesem Abschnitt beschrieben werden.

Syntax

declarator:
pointeroptdirect-declarator

direct-declarator:
identifier
( declarator )
direct-declarator[constant-expressionopt]
direct-declarator ( parameter-type-list )
direct-declarator(identifier-listopt)

pointer:
*type-qualifier-listopt
*type-qualifier-listoptpointer

type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier

Hinweis

Informationen zur Syntax für declaration finden Sie in der Übersicht über Deklarationen. Informationen zur Syntax, die einen declarator referenziert, finden Sie unter Zusammenfassung der C-Sprachsyntax.

Wenn ein Deklarator aus einem unveränderten Bezeichner besteht, hat das deklarierte Element einen Basistyp. Wenn ein Sternchen (*) auf der linken Seite eines Bezeichners steht, wird der Typ in einen Zeigertyp geändert. Wenn auf den Bezeichner eckige Klammern ( [ ] ) folgen, wird der Typ in einen Arraytyp geändert. Wenn auf den Bezeichner Klammern folgen, wird der Typ in einen Funktionstyp geändert. Weitere Informationen zum Interpretieren der Rangfolge in den Deklarationen finden Sie unter Interpretieren von komplexeren Deklaratoren.

Jeder Deklarator deklariert mindestens einen Bezeichner. Ein Deklarator muss einen Typspezifizierer enthalten, um eine vollständige Deklaration zu sein. Der Typspezifizierer gibt den Typ der Elemente eines Arraytyps, den Typ des von einem Zeigertyp angesprochenen Objekts oder den Rückgabetyp einer Funktion an.

Array- und Zeiger-Deklarationen werden weiter unten in diesem Abschnitt ausführlicher beschrieben. Die folgenden Beispiele veranschaulichen ein paar einfache Formen von Deklaratoren:

int list[20]; // Declares an array of 20 int values named list
char *cp;     // Declares a pointer to a char value
double func( void ); // Declares a function named func, with no
                     // arguments, that returns a double value
int *aptr[10]; // Declares an array of 10 pointers

Microsoft-spezifisch

Der Microsoft C-Compiler lässt eine unbeschränkte Anzahl von Deklaratoren zu, die einen arithmetischen, Struktur- oder Union-Typ ändern können. Die Anzahl wird nur durch den verfügbaren Speicher beschränkt.

Ende Microsoft-spezifisch

Siehe auch

Deklarationen und Typen