我正在尝试构建一个链表,并且需要一个指向下一个元素的指针-还存储数据和一个指向列表下一个元素的指针。
这是正确的方法吗,我将如何通过main()访问这种类型的指针?
struct Data {
int data = 1;
};
typedef struct Data Data;
struct Node {
Data d;
struct Node *dir_next;
};
typedef struct Node Node;
答案 0 :(得分:1)
您的方法是正确的,但是您的代码中有一些不必要的东西。
struct Data {
int data = 1;
};
struct Node {
Data d;
Node *dir_next;
};
这就是您所需要的,这是创建链接列表的标准方法。
要访问列表元素,您可以执行以下操作:
Node current;
//build your list here
Node next = *(current.dir_next);
或使用指针
Node* current;
//build your list here
Node* next = current->dir_next;