gpt4 book ai didi

c++ - 如何写一个不同大小的6维数组?

转载 作者:行者123 更新时间:2023-11-30 20:48:03 26 4
gpt4 key购买 nike

我正在尝试用 c 编写一个结构,将数据存储在链接数组中,如下所示:

typedef struct
{
u8 num;
struct value* next;
}value;

value arr[4] = {
{.num = 0, .next = (value[]){
(value){.num = 0, .next = NULL},
(value){.num = 1, .next = NULL},
(value){.num = 31, .next = NULL}
}},
{.num = 1, .next = NULL},
{.num = 2, .next = NULL},
{.num = 31, .next = NULL}
};

将使用最多 6 个层次结构级别的链接数组来代替空值。

我怎样才能用C语言做到这一点?我做错了什么?

顺便说一句,整个结构应该是const所以我需要用值初始化它,并且在运行时不再触摸它。

如果你有一种方法可以在 C++ 中做到这一点,我也可以使用它。

最佳答案

我建议使用 Boost 多维数组。在 C 语言中,内存管理很快就会变得笨拙。请参阅http://www.boost.org/doc/libs/1_63_0/libs/multi_array/doc/user.html

一个更困惑的解决方案是嵌套 std::vectors:

std::vector

关于c++ - 如何写一个不同大小的6维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586563/

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