gpt4 book ai didi

c - 结构体指针数组

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

我基本上是在尝试创建一个结构指针数组。这些指针中的每一个都应该指向同一结构数组的另一个元素,即 BLOCKS[2]。

这就是我到目前为止所做的。

typedef struct bb {
..
..
..
struct bb **successor;
} BLOCK;

BLOCK BLOCKS[10];

struct bb **A = malloc(sizeof(struct bb*)*5); //create an array of pointers of type struct bb, 5 units i.e A[0]->A[4].

BLOCKS[0].successors = A //just assigning

现在......如何将指针数组的第一个元素 A 分配给另一个结构体?

我尝试过:

A[0] = &BLOCKS[6];

它编译得很好,但我遇到了段错误。

最佳答案

您尝试过这个吗:

typedef struct bb {
..
..
..
struct bb *successor;
} BLOCK;

BLOCK BLOCKS[10];

struct bb *A = malloc(sizeof(struct bb)*5); //create an array of pointers of
type struct bb, 5 units i.e A[0]->A[4].

BLOCKS[0].successors = A[0];

因为快速查看后,我认为 ** 应该呈现为 * 并且您的 malloc 保留的内存不是 5 个结构的大小,而是 5 个指向该结构的指针的大小。

关于c - 结构体指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10681765/

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