C 初始化指向结构的指针时出现无效的初始值设定项错误
我正在为C 初始化指向结构的指针时出现无效的初始值设定项错误,c,C,我正在为USBbootloader编写代码。当我编译代码时,我得到了以下两个错误: Invalid Initializer 错误涉及以下代码行: static volatile usb_internal_sram_t sr; static volatile usb_internal_sram_t usb_sram = &sr; usb_control_t ctr; static usb_control_t usb_ctrl = &
USB
bootloader编写代码。当我编译代码时,我得到了以下两个错误:
Invalid Initializer
错误涉及以下代码行:
static volatile usb_internal_sram_t sr;
static volatile usb_internal_sram_t usb_sram = &sr;
usb_control_t ctr;
static usb_control_t usb_ctrl = &ctr;
在有人建议
malloc()
之前,这是一个嵌入式系统。不建议动态内存分配,因为它会降低系统速度。因此,这就是我试图以这种方式初始化struct
指针的原因。我认为这种方法可以,但显然不行。有人有什么想法吗?提前谢谢你 您缺少*
令牌来声明您的usb\u sram
和usb\u ctrl
对象作为指针
static volatile usb_internal_sram_t sr;
static volatile usb_internal_sram_t usb_sram = &sr;
你可能是说
static volatile usb_internal_sram_t sr;
static volatile usb_internal_sram_t* usb_sram = &sr;
“初始化指针”?指针在哪里???我看不到在代码中声明任何指针。为什么要用指针值初始化结构对象?哇,我是个白痴。我完全没有注意到我忘记了*。你会接受这个答案吗?这样做是正确的。