如何将值添加到在 C++ 中有两个指针的嵌套结构中

How to add values into a nested structure which has two pointers inside in C++

struct stable_item 
{
    char* name;
    char* scope;
    int permission;
};

struct stable 
{
    stable_item* item;
    stable * next;
    stable * prev;
};

stable* head;
//structures created

stable *GetNewNode() {
    stable *newNode = new stable();
    newNode->item;
    newNode->next = NULL;
    newNode->prev = NULL;
    return newNode;
};

void insert_stable()
{
    stable *newNode = GetNewNode();
    if (head == NULL) {
       head = newNode;
       return;
    }
    head->prev = newNode;
    newNode->next = head;
    head = newNode;
}

void update_item()
{
  struct stable_item *newItem = (struct stable_item*)malloc(sizeof(struct stable_item));
  head->item->permission;
  head->item->name == NULL;
  head->item->scope = NULL;
};

我无法将值插入到 C++ 中的嵌套结构中。

我将更新结构stable_item名称、范围和权限的信息。但是由于另一个结构体中有一个指针项stable,我目前对实现这个任务的方式很困惑。也许我需要先声明一个 struct stable_item 的对象?

谁能帮我看看有哪些可能的改进?

简单的给newNode->item分配一些内存,如下图

  stable *GetNewNode(){
      stable *newNode = new stable();
-->   newNode->item = new stable_item(); // Do this as you've done above
>     newNode->item->name = NULL;
>     newNode->item->scope = NULL;
>     newNode->item->permission = 0;
      newNode->next = NULL;
      newNode->prev = NULL;
      return newNode;
  }

  void update_item(int perm, const char* name, const char* scope){
>     struct stable_item *newItem = new stable_item();
>     head->item->permission = perm;
>     head->item->name = new char[1+strlen(name)];
>     strcpy(head->item->name, name);
>     head->item->scope = new char[1+strlen(scope)];
>     strcpy(head->item->scope, scope);
  }