在项目中使用struct结构体时,有时候需要对结构体的成员赋初值,对于一般的struct初始化一般的C或C++书上都有说,这里就不总结了。最近刚发现一种赋值方法,看下面:
struct Book
{
char ISBN[MAXSTR];
char author[MAXSTR];
int value;
};
在C99标准中支持结构体的指定初始化项,其语法与数组的指定初始化项类似,只是,结构体的指定初始化项使用点运算符和成员名[而不是使用方括号和索引值]来标识具体的元素。
struct Book use_book =
{
.ISBN = "2016-0612-1044",
.author = "Wang YanPeng",
.value = 10
}
这样写,看的时候会比较舒服,而且成员初始化的顺序可以自己定义,没有先后之分。