各位大侠,
今天看驱动代码,看到类似如下的结构
const board_entry_t board_config_tbl[]=
{
#ifdef(xxx)
{
.board_type = AAAA;
},
#endif
...
}
请问.board_type =只是一个简单的结构体赋值语句吗?与我们常见的有什么不同吗?
为什么要把结构体内的成员.board_type 表示出来,而不直接填值AAAA
------解决方案--------------------
定义的时候同时赋初值
------解决方案--------------------
就是一普通的结构体成员赋值语句 没什么不同的
------解决方案--------------------
C语言的标准是这样的定义的
------解决方案--------------------
是赋值的功能,.board_type 写出来赋值,这样可以不用按着定义变量的顺序来赋值,可以只对需要的变量赋值。 标准c是没有这个功能的,gcc 下的扩展了c的语法,可以支持在定义结构时支接赋值。