【问题标题】:what do we mean when we declare struct node *p = NULL;?当我们声明 struct node *p = NULL; 时,我们的意思是什么?
【发布时间】:2019-07-01 14:31:40
【问题描述】:

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

当我们声明时:

typedef struct node{

    int data;
    struct node *next;

}node;    

node *p = NULL;

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

【问题讨论】:

  • p 是一个指针,该指针的值为NULL,这意味着它没有指向任何有效的node
  • No is not p->next to no value, is p that no value! :)
  • 我建议您在处理链表之前返回并阅读有关指针的更多信息。

标签: c data-structures linked-list


【解决方案1】:

指针设置为NULL,基本上意味着指针没有指向任何有效的东西。如果您尝试执行p->next,则您处于未定义的行为领域,即您的程序可以继续工作或崩溃或介于两者之间。

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

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 2020-12-31
    • 1970-01-01
    • 2022-10-18
    • 2011-10-18
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多