我对结构感到困惑。你们能帮我解释一下这个结构的含义吗?
typedef struct
{
uint8 event;
uint8 status;
}osal_event_hdr_t;
然后,在另一个结构中再次定义上面的结构,如下所示:
typedef struct
{
osal_event_hdr_t hdr;
uint8 state;
uint8 keys;
}keyChange_t;
而上面的结构在函数中声明,this是什么意思
keyChange_t *msgPtr
?是指向 msgPtr
的结构,但 msgPtr
是 uint8
。你们能给我解释一下吗?谢谢。
最佳答案
第一个结构是一个名为 osal_event_hdr_t 的容器类型,其中包含两个变量,我认为这两个变量的类型为 uint8_t。您可以像这样访问它们的内容:
osal_event_hdr_t foo;
foo.event = 1;
foo.status = 2;
第二个结构很像第一个,但它实际上包含第一个结构之一!因此,要访问该结构的第一个结构,就像:
keyChange_t bar;
bar.hdr.status = 3;
我试过了...哈哈
关于c - 关于C中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41054211/