Share via


配列宣言

配列の宣言は「」という名前を付けて要素の種類を指定します。また配列の要素数を定義できます。配列型の変数は配列要素の型へのポインターと見なされます。

構文

  • declaration:
    宣言指定子 ; 宣言リスト optinit

  • init 宣言リスト :
    init 宣言

    init 宣言リスト宣言 init

  • init 宣言子 :
    宣言

    宣言の =初期化子

  • declarator:
    ポインターを opt 直接宣言

  • 直接宣言 :
    直接宣言の [定数式 opt 入力]

定数式が 省略可能であるため構文の 2 とおりの形式があります :

  • 最初の形式は配列変数を定義します。角かっこ内の 定数の 引数配列の要素の数を指定します。 定数式は より大きい場合整数型と最大値が必要です。各要素に void を除くすべての型が 型指定子に よって型があります。配列要素は関数型にすることはできません。

  • 2 番目の形式は他の場所で定義された変数を宣言します。またかっこの 定数式の 引数かっこを省略します。前に配列を初期化するパラメーターとして宣言するかではプログラムの別の場所で定義された配列への参照を明示的に宣言する場合のみこの形式を使用できます。

両方のフォームで 直接は 変数を 宣言 すると変数の型を変更できます。角かっこ () の後 [入力] 直接宣言が 配列型に宣言を変更します。

型修飾子は配列型オブジェクトの宣言に表示できますが修飾子は配列ではなく要素に適用します。

このフォームのかっこで囲まれていない定数式のリストと配列宣言に従って配列 (「」) 多次元配列の配列を宣言できます :

type-specifier declarator [constant-expression] [constant-expression] ...

かっこの 定数式は 各次元の要素数を定義します : 2 次元配列に二つのかっこで囲まれていない式次元配列を3 などです。配列を初期化するパラメーターとして宣言するかではプログラムの別の場所で定義された配列への参照を明示的に宣言する最初の定数式を省略できます。

オブジェクトのさまざまな型に より複雑な宣言の解釈 に説明されているように複雑な宣言を使用してポインターの配列を定義できます。

配列行が格納されます。たとえば次の配列は3 列の 2 個の各行から構成されます :

char A[2][3];

最初の行の 3 列は 2 行目の 3 列によってその後最初に保存されます。これは最後の添字が最も近い異なることを意味します。

配列の各要素を参照するには後置演算子 に説明されているように添字式を使用します。

これらの例では配列宣言を示しています :

float matrix[10][15];

matrix という150 次元配列の要素には フローティング の型を持つ各あります。

struct {
    float x, y;
} complex[100];

これは構造体の配列の宣言です。この配列には 100 個の要素があります。; 各要素は2 人含む構造体のメンバーです。

extern char *name[];

このステートメントは char へのポインターの配列の型と名前を宣言します。name の実際の定義は他の場所で発生します。

Microsoft 固有の仕様 →

配列の最大サイズを格納するために必要な整数の型はsize_t のサイズです。STDDEF.H ヘッダー ファイルで定義されます。size_t がスコープに 0x00000000 0x7CFFFFFF で unsigned int です。

終了 Microsoft 固有の仕様→

参照

概念

宣言子と変数宣言