结构节点*下一个理解



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

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

当我们使用光标 -> next 语句时,跳转到下一个节点。结构如何确切地知道跳到下一个,是什么将它们连接起来?

我知道光标指向"当前节点",然后 -> next 将转到链表中的下一个节点。

定义节点结构时,next 是预定义的关键字吗?

就我对指针的理解而言,我们正在创建一个指向结构节点的指针并将其称为"next",但我看不到节点是如何连接的。

谢谢

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

最新更新