gpt4 book ai didi

c - 为具有结构作为值的节点分配内存

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:48 25 4
gpt4 key购买 nike

我想过几种方法来做到这一点,但我想知道哪种方法是正确的。

作业要求我们遍历一个二维数组(迷宫),并从头到尾打印出最终求解路径的每个坐标。

坐标将存储在一个链表中,该链表具有作用于它的堆栈操作(推送、弹出等)。因此,一次只查看一个节点(头部将指向一个空节点,然后值将被“推”到初始节点前面,然后根据需要弹出。

我的问题是为节点正确分配内存。

我提出的解决方案概括为:

struct coordinates{
int x;
int y;
};

struct linkedStruct
{
int* elem;
struct linkedStruct* next;
};

typedef struct linkedStruct linked;
typedef linked* linkedPtr;

所以主要我假设我会这样做

linkedPtr ptr = malloc(sizeof(linked));
ptr->elem = coordinates;

这是正确的吗?我第一次做链表。

最佳答案

更改 linkedStruct 以在其中包含一个 coordinates 的对象:

struct linkedStruct
{
coordinates elem;
struct linkedStruct* next;
};

然后,在malloc之后,您可以设置新的linkedStruct的成员。

linkedPtr ptr = malloc(sizeof(linked));
ptr->elem.x = 1;
ptr->elem.y = 2;
ptr->next = NULL;

关于c - 为具有结构作为值的节点分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28462960/

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