gpt4 book ai didi

c - 如何表示一个指向多个对象的容器?

转载 作者:行者123 更新时间:2023-11-30 15:30:38 25 4
gpt4 key购买 nike

假设我们有以下内容:

struct main_container{
struct sub_container* pointers;
}

struct object{
char* name;
}

struct sub_container{
//?
}

这个想法是 main_containerpointers 应该指向多个 object,但我不知道该放什么在sub_container中。我在想类似 struct object** o; 的东西,但似乎我必须为此分配新的内存,而我想做的只是指向内存中已存在的多个对象。因此,假设内存中存在 10 个对象,并且指针保存指向 4 个随机对象或 6 个随机对象的指针。有什么办法可以实现这一点吗?

最佳答案

需要指向对象的指针吗?然后只需添加它:

struct sub_container{
struct object * ptr;
}

您可以将其分配为:

struct main_container mc;
mc.pointers = malloc(20 * sizeof(*mc.pointers)); // Remember to check in real code if malloc fails
struct object obj;
mc.pointers[0].ptr = &obj; // Assign external object to container

但是你需要sub_container吗?如果它所做的只是保留一个指针,那么您可以摆脱它:

struct main_container{
struct object** pointers;
}

和:

...
mc.pointers[0] = &obj;

关于c - 如何表示一个指向多个对象的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520086/

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