我写了这段代码,我不确定它到底是如何工作的,但它确实有效。这是代码:
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="空";)
最佳答案
因为 ptr
被声明为一个指针数组。因此 ptr[i]
是指向节点的指针。因此,您需要取消引用它才能访问指向的实体。
关于c++ - 如何创建指向结构的指针数组? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19677063/