Sdílet prostřednictvím


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-declarator

    init declarator seznamu**,** init declarator

  • init declarator:
    declarator

    declarator = inicializátor

  • declarator:
    ukazatel optdirect declarator

  • pří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

Viz také

Koncepty

Declarators a deklarace proměnných