在pset 5s演练中,节点结构的定义如下:
typedef struct node
{
int value;
struct node* next
} node;
node* head = malloc(sizeof(node));
cursor = head;
//update the cursor
cursor->next
然后当我们使用光标 - >下一个语句,跳转到下一个节点。结构如何准确地知道跳转到下一个连接它们的是什么?
我知道光标指向"当前节点"然后 - > next将转到链表中的下一个节点。
定义节点结构时,接下来是预定义的关键字吗?
就我对指针的理解而言,我们正在创建一个指向struct节点的指针并调用它" next",但我不知道节点是如何连接的。
由于
答案 0 :(得分:1)
正如head指向当前节点一样,当前节点中的next
指向其他节点。但要移至next
节点,您必须编写cursor = head - > next
或cursor = cursor - > next
而不只是cursor - > next
。也就是说,您必须将光标移动到下一个节点才能访问它的数据。请注意,您必须使用cursor - > next = malloc(sizeof(node)) ;
将节点分配给下一个节点。否则,如果您尝试访问下一个节点的数据,则会出现分段错误。也许你应该再次通过指针和结构部分来清楚地理解它。一定要看短裤。