初始化结构和结构数组

结构和结构数组可以通过括在括号中的一系列值来初始化,每个结构的成员一个值。

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
};

虽然这有效,但它不是很好的现代风格 - 你不应该尝试在新代码中使用这种表示法,并且应该修复它通常产生的编译器警告。

另见指定初始化