簡體   English   中英

如何創建指向結構的指針數組? C ++

[英]How to create an array of pointers to structs? C++

我寫了這段代碼,我不確定它是如何工作的,但是它是有效的。 這是代碼:

  struct node
{
    string data;
    node *chain;
};

   int tablesize=10;

  node *ptr [tablesize];

  for (i=0; i<tablesize; i++)
{
    ptr[i]=new node;
    ptr[i]->data="Empty";
    ptr[i]->chain=NULL;
}

如果我正確理解它,那么首先創建一個包含10個指針的數組,然后為每個指針分配一個新的節點? 為什么只有在我兩次取消引用它時它才起作用? (ptr [i]-> data =“ Empty”;)

因為ptr被聲明為指針數組。 因此, ptr[i]是指向節點的指針。 因此,您需要取消引用它才能訪問指向的實體。

ptr[i]是一個node*因此您必須使用->

(您未取消引用)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM