[英]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.