初始化結構和結構陣列

結構和結構陣列可以通過括在括號中的一系列值來初始化,每個結構的成員一個值。

struct Date
{
    int year;
    int month;
    int day;
};

struct Date us_independence_day = { 1776, 7, 4 };

struct Date uk_battles[] =
{
    { 1066, 10, 14 },    // Battle of Hastings
    { 1815,  6, 18 },    // Battle of Waterloo
    { 1805, 10, 21 },    // Battle of Trafalgar
};

請注意,陣列初始化可以在沒有內部括號的情況下編寫,並且在過去的時間(比如 1990 之前)通常會在沒有它們的情況下編寫:

struct Date uk_battles[] =
{
    1066, 10, 14,    // Battle of Hastings
    1815,  6, 18,    // Battle of Waterloo
    1805, 10, 21,    // Battle of Trafalgar
};

雖然這有效,但它不是很好的現代風格 - 你不應該嘗試在新程式碼中使用這種表示法,並且應該修復它通常產生的編譯器警告。

另見指定初始化