结构体初始化:
对结构体
struct a {
int b;
int c;
}
有几种初始化方式:
struct a a1 = {
.b = 1,
.c = 2
};
或者
struct a a1 = {
b:1,
c:2
}
或者
struct a a1 = { 1, 2};
内核喜欢用第一种,使用第一种和第二种时,成员初始化顺序可变。
struct cmd_head
{
unsigned char com_num[1];
unsigned char treaty_head[2];
unsigned char cmd_len[1];
unsigned char cmd_code[1];
}__attribute__((__packed__));
struct cmd_head cmd_head_init()
{
struct cmd_head def_head =
{
.com_num = DEF_COM_NUM,
.treaty_head = {TREATY_HEAD_FIR, TREATY_HEAD_SEC},
.cmd_len = DEF_CMD_LEN,
.cmd_code = DEF_CMD_CODE
};
return def_head;
}