定义一个结构体
typedef struct
{
uint32_t id;
uint8_t *data;
}ST_Msg;
由于不同id,对应的data长度不同,所以这里使用了指针。
然后定义结构体数组并初始化
const ST_Msg Msg_Pro[] =
{
{0x12345678,{1,1}},
{0x23456789,{2,2,2}},
};
这里这样写会报错,我目前的解决方法是新定义数组
uint8_t a[] = {1,1};
uint8_t b[] = {2,2,2};
然后把初始化修改为
const ST_Msg Msg_Pro[] =
{
{0x12345678,a},
{0x23456789,b},
};
这样可以正常编译,但是我想要的效果就是把id 和data的初始化的值放在一起,这样更加直观,所以想请问一下有没有什么方法能达到类似
const ST_Msg Msg_Pro[] =
{
{0x12345678,{1,1}},
{0x23456789,{2,2,2}},
};
这样初始化的效果?