我寫了這段代碼,我不確定它是如何工作的,但它的工作原理。這是代碼:如何創建指向結構體的指針數組? 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;
}
如果我正確理解它,第一I創建的10個指針的數組,然後我分配每個指針與一個新的節點?爲什麼只有當我解除引用它時才起作用? (PTR [I] - >數據= 「空」;)
因爲'ptr [i]'是一個指針。你不是兩次解除引用。順便說一句,你正在使用可變長度數組(VLA),它不是標準的C++。 – juanchopanza
請勿使用'new'。 :( – rightfold
不要忘記清理你的混亂... – Sambuca