指定初始化
c99增加了一个新特性:指定初始化器(designated initializer)
数组
可以在初始化列表中使用带方括号的下标指明待初始化的元素
int days[12] = { 31, 28, [4] = 31, 30, 31, [1] = 29 };
结构体
使用点运算符和成员名 标识特定的元素,就不需要再按照元素声明的顺序依次初始化了
struct book {
char title[128];
char author[64];
float value;
};
struct book gift = {
.value = 25.99,
.author = "James Broadfool",
.title = "Rue for the Toad"
};
不过注意,对特定成员的最后一次赋值才是它实际获得的值