簡體   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