Deklarátory a deklarace proměnných
Zbytek této části popisuje formulář a význam deklarací pro typy proměnných shrnuté v tomto seznamu. Zbývající části zejména vysvětlují, jak deklarovat:
Typ proměnné | Popis |
---|---|
Jednoduché proměnné | Proměnné s jednou hodnotou s celočíselným typem nebo typu s plovoucí desetinou čárkou |
Pole | Proměnné složené z kolekce prvků se stejným typem |
Ukazatele | Proměnné, které odkazují na jiné proměnné a obsahují umístění proměnných (ve formě adres) místo hodnot |
Proměnné výčtu | Jednoduché proměnné s celočíselným typem, které obsahují jednu hodnotu ze sady pojmenovaných celočíselných konstant |
Struktury | Proměnné složené z kolekce hodnot, které mohou mít různé typy |
Sjednocení | Proměnné složené z několika hodnot různých typů, které zabírají stejný prostor úložiště |
Deklarátor je součástí deklarace, která určuje název, který se má zavést do programu. Může obsahovat modifikátory, jako *
je ukazatel na, a kterákoli z klíčových slov konvence volání Společnosti Microsoft.
Specifické pro Microsoft
V tomto deklarátoru,
__declspec(thread) char *var;
char
je specifikátor __declspec(thread)
typu a *
jsou modifikátory a var
jedná se o název identifikátoru.
END Microsoft Specific
Deklarátory slouží k deklaraci polí hodnot, ukazatelů na hodnoty a funkcí vracejících hodnoty zadaného typu. Deklarátory se zobrazí v deklaraci pole a ukazatele popsané dále v této části.
Syntaxe
declarator
:
pointer
volit direct-declarator
direct-declarator
:
identifier
(
declarator
)
direct-declarator
[
constant-expression
volit ]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
identifier-list
volit )
pointer
:
*
type-qualifier-list
volit
*
type-qualifier-list
volit pointer
type-qualifier-list
:
type-qualifier
type-qualifier-list
type-qualifier
Poznámka:
Syntaxi declaration
najdete v části Přehled deklarací nebo souhrnu syntaxe jazyka C pro syntaxi, která odkazuje na declarator
.
Pokud se deklarátor skládá z nemodifikovaného identifikátoru, má deklarovaná položka základní typ. Pokud se nalevo od identifikátoru zobrazí hvězdička (*
), typ se změní na typ ukazatele. Pokud za identifikátorem následují hranaté závorky ([ ]
), typ se změní na typ pole. Pokud závorky následují za identifikátorem, typ se změní na typ funkce. Další informace o interpretaci priority v rámci deklarací naleznete v tématu Interpretace složitějších deklarátorů.
Každý deklarátor deklaruje alespoň jeden identifikátor. Deklarátor musí obsahovat specifikátor typu, který bude úplnou deklarací. Specifikátor typu poskytuje: typ prvků typu pole, typ objektu adresovaného typem ukazatele nebo návratový typ funkce.
Deklarace polí a ukazatelů jsou podrobněji popsány dále v této části. Následující příklady ilustrují několik jednoduchých forem deklarátorů:
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
Specifické pro Microsoft
Kompilátor Jazyka Microsoft C neomezuje počet deklarátorů, které můžou upravit aritmetický typ, strukturu nebo sjednocovací typ. Číslo je omezeno pouze dostupnou pamětí.
END Microsoft Specific