声明结构节点* p = NULL;是什么意思?

时间:2019-07-01 14:31:40

标签: c data-structures linked-list

这可能是一个愚蠢的问题,但我只是开始了链表,并感到困惑。

当我们声明:

typedef struct node{

    int data;
    struct node *next;

}node;    

node *p = NULL;

node的哪一部分是NULL?是p->next吗?

1 个答案:

答案 0 :(得分:1)

该指针设置为NULL,基本上意味着该指针指向无效的对象。如果您尝试执行p->next,则您处于未定义的行为区域,即您的程序可以继续运行或崩溃,或者介于两者之间。

在您的情况下,我可以假设将指针设置为NULL意味着创建一个空列表。