NODE first = first-> link 在 linked 列表中是什么意思?

What does NODE first = first-> link mean in linked list?

我想知道一个node*变量NODE如何赋值给结构体里面的数据?

struct node
{
   int info;
   struct node *link;
};

 typedef struct node* NODE;

//IN SOME OTHER FUNCTION
NODE temp,first;
temp = first;
first = first->link; // I WANT HELP WITH THIS LINE.

在链表中,您有一个包含一些信息的节点。在每个节点中,您都有下一个节点的地址。

struct node
{
   int info;           //Information or data which is stored at every node
   struct node *link;  // Address of next node 
};

first = first->link; // I WANT HELP WITH THIS LINE.

如果您完成了当前节点,那么您可能需要访问下一个节点。 在这一行中,您访问了链表的下一个节点 (first->link) 并且您正在将下一个节点设置为 first(顶级节点)。

first 的类型是 struct node *

link也是一个struct node *

因此您可以将一个分配给另一个,反之亦然。

在此示例中,first 的原始值存储在另一个变量 temp 中,然后 first 被替换为原始中 link 的值first。你可以等价地写

first = temp->link

而不是最后一行,希望这样可以减少混淆。