Spezifizierer
In diesem Thema wird die decl-specifiers-Komponente (Deklarationsspezifizierer) einer Deklaration beschrieben.
Die folgenden Platzhalter und Sprachschlüsselwörter sind Deklarationsbezeichner:
storage-class-specifier
type-specifier
function-specifier
__declspec( extended-decl-modifier-seq )
Hinweise
Der Teil der decl-specifiers einer Deklaration ist die längste Sequenz von decl-specifiers, der als Typname verstanden werden kann, ohne dass Zeiger oder Verweismodifizierer enthalten sind. Der Rest der Deklaration ist der declarator, der den eingeführten Namen enthält.
Die folgende Tabelle enthält vier Deklarationen. Sie führt dann die decl-specifers- und declarator-Komponenten für jede Deklaration getrennt auf.
Deklaration |
decl-specifiers |
declarator |
---|---|---|
char *lpszAppName; |
char |
*lpszAppName |
typedef char * LPSTR; |
char |
*LPSTR |
const int func1(); |
const int |
func1 |
volatile void *pvvObj; |
volatile void |
*pvvObj |
Da signed, unsigned, long und short alle int implizieren, wird ein typedef-Name, der auf eines dieser Schlüsselwörter folgt, für einen Member von declarator-list, und nicht von decl-specifiers gehalten.
Hinweis
Da ein Name neu deklariert werden kann, unterliegt seine Interpretation der letzten Deklaration im aktuellen Gültigkeitsbereich.Eine Neudeklaration kann beeinflussen, wie Namen vom Compiler interpretiert werden, insbesondere typedef-Namen.