这可能是一个愚蠢的问题,但我只是开始了链表,并感到困惑。
当我们声明:
typedef struct node{
int data;
struct node *next;
}node;
node *p = NULL;
node
的哪一部分是NULL
?是p->next
吗?
答案 0 :(得分:1)
该指针设置为NULL,基本上意味着该指针指向无效的对象。如果您尝试执行p->next
,则您处于未定义的行为区域,即您的程序可以继续运行或崩溃,或者介于两者之间。
在您的情况下,我可以假设将指针设置为NULL意味着创建一个空列表。