C99 の指定済みのイニシャライザ

C90 には、配列、構造体、または共用体の特定のメンバを初期化する方法がありません。C99 では、指定済みのイニシャライザを使用することにより、配列、構造体、または共用体の特定のメンバの名前または添え字による初期化がサポートされています。以下に例を示します。

typedef struct
{
    char *name;
    int rank;
} data;
data vars[10] = { [0].name = "foo", [0].rank = 1,
                  [1].name = "bar", [1].rank = 2,
                  [2].name = "baz",
                  [3].name = "gazonk" };

明示的に初期化されていない集合のメンバは、デフォルトでゼロに初期化されます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711