【发布时间】:2019-04-15 21:02:04
【问题描述】:
我写了一段C代码如下:-
typedef struct {
unsigned int buffer_ctrl[4];
unsigned int buffer1[10];
unsigned int buffer2[40];
unsigned int buffer3[20];
unsigned int buffer4[15];
unsigned int *buffer_ptr[4] = {buffer1, buffer2, buffer3, buffer4};
unsigned int canary[4];
} buffer_t;
我将它写在一个头文件中,该头文件包含在主代码中。我已经阅读了很多关于 C 中锯齿状数组的示例,并认为这可以正常工作。其中一个链接是Do jagged arrays exist in C/C++?。
但是,当我编译时,我收到错误“expected ';'在声明 lsit 的末尾”。有人可以帮忙解释这里可能出现的错误吗? 谢谢!
【问题讨论】:
-
它将除了
unsigned int *buffer_ptr[4] = {buffer1, buffer2, buffer3, buffer4};——你不能在定义时初始化结构的成员。 (但您可以在struct中使用union来基本上做同样的事情)。 -
在结构内部?我相信那是行不通的。
-
@DavidC.Rankin 你的意思是不能 - 对吧?
-
是的,没错——你不能(意思是说所有都可以工作“除了”..)。
-
请逐字复制粘贴错误信息。如果您输入错误消息,这对任何人都没有帮助!
标签: c jagged-arrays