我声明节点如下,
typedef struct slinkedlist {
int data;
struct slinedlist *next;
} node;
我的代码中有临时指针node * tmp
,为什么我无法访问tmp->next->next
。
/ *添加了代码* /
typedef struct slinkedlist {
int data;
struct slinedlist *next;
} node;
node *start;
/* Assume I have 5 nodes in a list */
void ex(void)
{
node *tmp;
tmp = start->next->next; /* This will be error in C , explain me, why? */
/* But this works fine */
tmp = start->next;
tmp = tmp->next;
}
如果我访问start-> next-> next?
,我将会收到错误答案 0 :(得分:1)
一旦tmp指向最后一个节点,tmp-> next将为null,使得tmp-> next-> next将导致空指针解除引用。