以下片段来自我的zigbee wsndemo代码让我很难理解结构。我在网上浏览了许多与结构相关的文章,但并不了解这些结构变量是如何定义和可以使用的。请帮忙。嵌入式c编程
static struct
{
uint8_t appSubTaskPosted : 1;
uint8_t appCmdHandlerTaskPosted : 1;
uint8_t appMsgSenderTaskPosted : 1;
} appTaskFlags =
{
.appSubTaskPosted = false,
.appCmdHandlerTaskPosted = false,
.appMsgSenderTaskPosted = false
};
'false'必须是宏扩展,因为'C'没有'bool'类型。 ':1'意味着'uint8_t'内只有1位将被使用(在这种情况下,无论是真还是假,类似于0或1)。其余的只是结构的初始化。 –
@hhachem C确实有bool类型。它是在14年前的语言中引入的。 – Lundin
@Lundin很高兴知道。在使用布尔值时,我总是使用宏。C –