初始化指向结构的指针时无效的初始化程序错误

时间:2012-08-02 21:19:49

标签: c

我正在编写USB引导加载程序的代码。当我编译代码时,我得到以下2个错误:

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指针的原因。我认为这种方法没问题,但显然没有。有人有主意吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

您缺少*令牌,以将usb_sramusb_ctrl个对象声明为指针。

答案 1 :(得分:0)

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;