这是我的数据结构
struct Node{
int x;
Node *next;
Node *prev;
}
如果我分配内存
Node *A = malloc (sizeof (Node) * 10);
在这种情况下,如何使用数组索引访问数组中的每个框?或者它不可能?
我的目标只是想在这块内存中制作一个链表。
基本上我想分配一块内存,然后分配他们的上一个和下一个......
也许这令人困惑,抱歉我的措辞......答案 0 :(得分:1)
这会为您提供10个Node
的数组,可通过A
访问。现在,您所要做的就是例如。
A[0].next = &A[1];
设置第一个节点的next
值。
答案 1 :(得分:0)
malloc
返回void*
然后您应该为您的类型[{1}}
Node*
答案 2 :(得分:0)
以您的方式分配许多节点可能对内存管理有效,但我不会像数组那样访问它们。我认为你应该依赖链表而不是混合这两种方法,因为它很容易导致难以追踪的错误,并且难以修复。