int * a和int * a = new int之间的区别

时间:2020-06-11 03:18:21

标签: c++

我在研究Binary Search Tree只是有点怀疑,这是构造节点的结构。

struct Node 

    { 
        int data; 
        Node* left, *right; 
    }; 

现在,我的疑问是,当我创建一个新节点时,为什么必须写

Node* node =new Node;

为什么不

Node* node;

2 个答案:

答案 0 :(得分:3)

Node* node;

您定义了一个指针,但该指针没有指向任何内容。

Node* node =new Node

定义一个指针和一个Node对象,并使该指针指向该对象。

答案 1 :(得分:0)

Node* node

这是只是声明的指针。

访问此指针可能会浪费您的时间。

如果要使指针指向您自己的节点对象,请按

  1. 创建新的节点对象
  2. 分配一个指向它的指针,以便稍后可以使用像Node* node = new Node;这样的节点指针在代码中引用该节点

希望清除!

相关问题