Deklarace polí
"Array prohlášení", názvy, matice a určuje typ jeho prvky.Můžete také definovat počet prvků v poli.Proměnné typu pole, se považuje za ukazatele typu prvky pole.
Syntaxe
declaration:
Specifikátory prohlášení init-declarator seznam opt**;**init declarator seznamu:
init-declaratorinit declarator seznamu**,** init declarator
init declarator:
declaratordeclarator = inicializátor
declarator:
ukazatel optdirect declaratorpřímé declarator:
přímé declarator konstantní výraz opt
Protože konstantní výraz je volitelné syntaxe má dvě formy:
První formulář definuje proměnné array.Konstantní výraz argument v závorkách určuje počet prvků pole.Konstantní výraz, pokud existuje, musí být integrálního typu a hodnotu větší než nula.Každý prvek obsahuje typ dán specifikátor typu, což může být libovolný typ kromě void.Prvku pole nelze typ funkce.
Druhý formulář deklaruje proměnnou, která byla definována jinde.Nezahrnuje konstantní výraz argument v závorkách, ale není závorky.Tento formulář můžete použít pouze v případě, že jste dříve inicializovat pole deklarován jako parametr, nebo je deklarována jako odkaz na matici explicitně definovaná jinde v programu.
V obou formách direct declarator názvy proměnných a lze změnit typ proměnné.Hranaté závorky ([]) následující direct declarator declarator k typu pole změnit.
Kvalifikátory typu se mohou objevit v prohlášení o objekt typu array, ale platí kvalifikátory prvků než samotné pole.
Pomocí následujícího deklarátor seznam závorkách konstantní výrazy v tomto formuláři můžete deklarovat pole polí (pole "multidimenzionální"):
type-specifier declarator [constant-expression] [constant-expression] ...
Každý konstantní výraz v závorkách definuje počet prvků v dané dimenzi: dvourozměrné pole mají dva výrazy v závorkách, trojrozměrné pole mají tři atd.První konstantní výraz lze vynechat, pokud jste inicializovat pole deklarován jako parametr, nebo je deklarována jako odkaz na matici explicitně definovaná jinde v programu.
Můžete definovat pole ukazatelů na různé typy objektů pomocí komplexní declarators podle Interpretace více komplexní Declarators.
Pole jsou uloženy řádku.Například následující pole se skládá ze dvou řádků se třemi sloupci:
char A[2][3];
Tři sloupce na prvním řádku jsou uloženy na první, následovaný třemi sloupci druhého řádku.To znamená, většina rychle mění poslední dolní index.
Chcete-li jednotlivého prvku pole, použijte výraz dolního indexu, popsaným v Příponové operátory operátory.
Příklady
Tyto příklady ilustrují deklarace polí:
float matrix[10][15];
Dvojrozměrné pole s názvem matrix má 150 prvků, každý s plovoucí typu.
struct {
float x, y;
} complex[100];
Toto je prohlášení pole struktur.Toto pole má 100 prvky; Každý prvek je struktura obsahující dva členy.
extern char *name[];
Toto prohlášení deklaruje typ a název matice ukazatele na char.Skutečné definici name jinde dochází.
Konkrétní společnosti Microsoft
Typ integer potřebných k uložení maximální velikost pole je velikost size_t.Definované v záhlaví souboru STDDEF.H, size_t je unsigned int s rozsahem 0x00000000 nebo 0x7CFFFFFF.
Konec konkrétní společnosti Microsoft