以下片段來自我的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 –