int* a和int* a =新的int之间的区别。

问题描述 投票:0回答:1

我正在学习二元搜索树,只是有一点疑惑,这里是构造一个节点的结构。

struct Node 

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

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

Node* node =new Node;

为什么不呢?

Node* node;
binary-search-tree
1个回答
3
投票
Node* node;

你定义了一个指针,但是这个指针什么都没有指向。

Node* node =new Node

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


0
投票
Node* node

这是一个指针,它是 只是 声明。

访问这个指针可能会给你的垃圾。

如果你想让指针指向的是 自己的节点对象你的做法是

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

希望这能让你明白!

© www.soinside.com 2019 - 2024. All rights reserved.