struct node* 接下来的理解

struct node* next understanding

在 pset 5s 演练中,节点结构定义如下:

typedef struct node 
{   
   int value;
   struct node* next 
} node;
node* head = malloc(sizeof(node));
cursor = head;
 //update the cursor
cursor->next

而当我们再使用cursor -> next语句,跳转到下一个节点。结构体如何准确地知道跳转到下一个,它们之间有什么联系?

我理解光标指向"current node"然后->next会转到链表的下一个节点

定义节点结构时,下一个是预定义关键字吗?

据我对指针的理解,我们正在创建一个指向结构节点的指针并调用它"next",但我看不到节点是如何连接的。

谢谢

正如head指向当前节点一样,当前节点内的next指向其他节点。但是要移动到 next 节点,您必须编写 cursor = head - > nextcursor = cursor - > next 而不仅仅是 cursor - > next。也就是说,您必须将光标移动到下一个节点才能访问它的数据。请注意,您必须使用 maybe cursor - > next = malloc(sizeof(node)) ; 为下一个节点分配一个节点。否则,如果您尝试访问下一个节点的数据,则会出现分段错误。也许你应该再看一遍指针和结构部分才能清楚地理解它。确保你也看到了短裤。