【问题标题】:Dev C ++ what does "node *head=NULL;" mean;开发 C++ 什么是“节点 *head=NULL;”意思是;
【发布时间】:2018-12-03 09:39:34
【问题描述】:

node *head=NULL;

我不明白上面的代码是做什么的? 你可以帮帮我吗 ?谢谢,

【问题讨论】:

  • 请阅读一本好的 C++ 书籍并遵循一些教程,这是非常基础的。 Stack Overflow 不能替代学习您正在使用的语言。
  • 为了理解这一点,首先需要了解指针的概念。在互联网上搜索。有很多很好的教程
  • 有好书列表here

标签: c++ linked-list


【解决方案1】:

这里

node *head

定义一个指向node的指针,并调用该指针head

=NULL;

在这里,NULL 被分配给它。根据thisNULL是:

宏NULL是一个实现定义的空指针常量, 这可能是

整数类型的整数常量表达式右值,计算 归零(C++11 前)

值为零的整数文字,或类型的纯右值 std::nullptr_t (C++11 起)

最后,结果是head 持有0 的值。这样就可以查询它,例如使用if (head == NULL){... 或类似的东西。

NULL 被分配给一个指针时,这通常表示它没有指向一个有效的对象(还)。

【讨论】:

    【解决方案2】:

    NULL 是为表示没有定义地址的指针而定义的宏。你可以阅读更多关于https://en.cppreference.com/w/cpp/types/NULL

    【讨论】:

    • 这对理解 OP 问题有何帮助?
    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2015-04-11
    • 2023-03-06
    相关资源
    最近更新 更多