Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"deklaracja tablicy" nazywa tablicę i określa typ jej elementów. Może również definiować liczbę elementów w tablicy. Zmienna z typem tablicy jest traktowana jako wskaźnik typu elementów tablicy.
Składnia
declaration:
declaration-specifiers
init-declarator-list
Zdecydować;
init-declarator-list:
init-declarator
init-declarator-list
,
init-declarator
init-declarator:
declarator
declarator
=
initializer
declarator:
pointer
wybierzdirect-declarator
direct-declarator:
direct-declarator
[
constant-expression
Zdecydować]
Ponieważ constant-expression jest opcjonalna, składnia ma dwie formy:
Pierwszy formularz definiuje zmienną tablicową.
constant-expressionArgument w nawiasach określa liczbę elementów w tablicy. Wartośćconstant-expression, jeśli istnieje, musi mieć typ całkowity i wartość większą niż zero. Każdy element ma typ podany przeztype-specifierelement , który może być dowolnym typem z wyjątkiemvoid. Element tablicy nie może być typem funkcji.Drugi formularz deklaruje zmienną zdefiniowaną gdzie indziej.
constant-expressionPomija argument w nawiasach kwadratowych, ale nie nawiasy kwadratowe. Tego formularza można użyć tylko wtedy, gdy wcześniej zainicjowano tablicę, zadeklarowaliśmy ją jako parametr lub zadeklarowaliśmy jako odwołanie do tablicy, która jest jawnie zdefiniowana w innym miejscu w programie.
W obu formularzach direct-declarator nazwij zmienną i może modyfikować typ zmiennej. Nawiasy kwadratowe ([ ]) po direct-declarator zmodyfikowaniu deklaratora do typu tablicy.
Kwalifikatory typów mogą występować w deklaracji obiektu typu tablicy, ale kwalifikatory mają zastosowanie do elementów, a nie samej tablicy.
Tablicę tablic (tablicę wielowymiarową) można zadeklarować, postępując zgodnie z deklaratorem tablicy z listą wyrażeń stałych w nawiasach w tym formularzu:
type-specifierdeclarator[constant-expression][constant-expression]...
Każdy constant-expression w nawiasach definiuje liczbę elementów w danym wymiarze: tablice dwuwymiarowe mają dwa wyrażenia w nawiasach, tablice trójwymiarowe mają trzy i tak dalej. Możesz pominąć pierwsze wyrażenie stałe, jeśli zainicjowano tablicę, zadeklarował ją jako parametr lub zadeklarował jako odwołanie do tablicy jawnie zdefiniowanej w innym miejscu w programie.
Tablice wskaźników można definiować na różne typy obiektów przy użyciu deklaratorów złożonych, zgodnie z opisem w temacie Interpretowanie bardziej złożonych deklaratorów.
Tablice są przechowywane według wierszy. Na przykład następująca tablica składa się z dwóch wierszy z trzema kolumnami:
char A[2][3];
Trzy kolumny pierwszego wiersza są najpierw przechowywane, a następnie trzy kolumny drugiego wiersza. Oznacza to, że ostatni indeks dolny różni się najbardziej szybko.
Aby odwołać się do pojedynczego elementu tablicy, użyj wyrażenia indeksu dolnego zgodnie z opisem w temacie Operatory postfiksów.
Przykłady
Te przykłady ilustrują deklaracje tablic:
float matrix[10][15];
Tablica dwuwymiarowa o nazwie matrix ma 150 elementów, z których każdy ma float typ.
struct {
float x, y;
} complex[100];
Ten przykład jest deklaracją tablicy struktur. Ta tablica zawiera 100 elementów; każdy element jest strukturą zawierającą dwa elementy członkowskie.
extern char *name[];
Ta instrukcja deklaruje typ i nazwę tablicy wskaźników na char. Rzeczywista definicja name występuje gdzie indziej.
Specyficzne dla firmy Microsoft
Typ liczby całkowitej wymaganej do przechowywania maksymalnego rozmiaru tablicy to rozmiar size_t.
Koniec specyfiki Microsoftu