繁体   English   中英

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

[英]Difference between int* a and int* a =new int

我正在研究二叉搜索树,只是有点怀疑,这里是构造节点的结构。

struct Node 

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

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

Node* node =new Node;

为什么不

Node* node;
Node* node;

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

Node* node =new Node

您定义一个指针和一个节点 object,并使指针指向 object。

Node* node

这是一个刚刚声明的指针。

访问此指针可能会给您带来垃圾。

如果你想让指针指向你自己的节点 object ,你可以这样做

  1. 创建新节点 object
  2. 为其分配一个指针,以便稍后在代码中使用节点指针引用此节点,如Node* node = new Node;

希望这能清除!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM