c++ - 如何创建指向结构的指针数组? C++

标签 c++ arrays pointers struct

我写了这段代码,我不确定它到底是如何工作的,但它确实有效。这是代码:

  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/

相关文章:

c++ - try block 中的禁止地址访问

c++ - 使用QPainter在Widgets之间画一条线

c++ - 字符串数组作业

php - 当我键入时从 MySQL 填充多个输入字段

c - 指向二维结构数组的指针

c++ - 如何将 Visual Studio 2010 与 Visual C++ 2008 编译器一起使用?

javascript - jQuery 不相交

php - 从 mysql 查询中分割 php 数组

c++ - 如何检查指针后面的对象是否有效或已被删除?

c - 这些 char 数组声明背后发生了什么?