gpt4 book ai didi

c - C 中的锯齿状数组实现 - 错误 : expected ';' at the end of declaration list

转载 作者:行者123 更新时间:2023-11-30 18:45:58 30 4
gpt4 key购买 nike

我写了一段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"。有人可以帮忙解释一下这里可能有什么错误吗?谢谢!

最佳答案

您不能在 buffer_t 结构本身的定义中分配给 buffer_ptr。您必须首先定义一个 buffer_t 类型的变量,然后分配给它。

你可以这样做:

buffer_t bt = {
.buffer_ptr[0] = bt.buffer1,
.buffer_ptr[1] = bt.buffer2,
.buffer_ptr[2] = bt.buffer3,
.buffer_ptr[3] = bt.buffer4
};

关于c - C 中的锯齿状数组实现 - 错误 : expected ';' at the end of declaration list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53274062/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com