Specyfikatory
W tym temacie opisano składnik decl-specifiers (specyfikatory deklaracji) z deklaracji.
Następujące symbole zastępcze i słowa kluczowe języka są specyfikatorami deklaracji:
storage-class-specifier
type-specifier
function-specifier
__declspec(extended-decl-modifier-seq)
Uwagi
Część deklaracji decl-specifiers jest najdłuższą sekwencją decl-specifiers którą można podjąć, aby oznaczyć nazwę typu, nie wliczając wskaźnika lub odwołania modyfikatorów.Pozostała część deklaracji jest declarator, który zawiera wprowadzoną nazwę.
Poniższa tabela zawiera listę czterech deklaracji, a następnie każdą deklarację decl-specifers i declarator składnika osobno.
Deklaracja |
decl-specifiers |
declarator |
---|---|---|
char *lpszAppName; |
char |
*lpszAppName |
typedef char * LPSTR; |
char |
*LPSTR |
const int func1(); |
const int |
func1 |
volatile void *pvvObj; |
volatile void |
*pvvObj |
Ponieważ signed, unsigned, long i short wszystkie pociągają za sobą int, typedef nazwa jednego z tych słów kluczowych jest przyjmowana jako członek declarator-list, nie decl-specifiers.
[!UWAGA]
Ponieważ nazwa może być ponownie deklarowana, jej interpretacja jest najnowszą deklaracją w bieżącym zakresie.Ponowna deklaracja może wpływać na sposób na to, jak nazwy są interpretowane przez kompilator, zwłaszcza nazwa typedef.