在链表节点中分配数组

问题描述

我最近开始学习编程,刚刚了解了链表。我知道如何在链表的节点中分配单个元素,如 charint

我试图在单个节点中分配一个 char 数组,然后为每个节点打印数组的元素。

这是我尝试执行上述操作的代码部分:

node* ReadList() {
  node *head = NULL,*n,*m;
  char data[20],c;
  bool lmfao = false;
  int i;

  for (i=0; i<20; i++) {
    c = getchar();
    if (c == ' ') break;
    data[i] = c;
  }

  n = new node;
  n->next = NULL;
  n->info = data[];
  head = n;

  while (!lmfao) {

   for (i=0; i<20; i++) {
     c = getchar();
     if (c == ' ') break;
     if (c == EOF) lmfao = true;
     data[i] = c;
   }

   if (!lmfao) {
     m = new node;
     n->next = m;
     m->info = data[];
     m->next = NULL;
     n = m;

   }

   if (lmfao) {
     m = new node;
     n->next = m;
     m->info = data[];
     m->next = NULL;
   }
  }

  return head;
}

为了这个例子,假设字母系列不超过 20 个字符。

当我尝试编译它时,我收到错误消息:

test.cpp:23:18: error: expected primary-expression before ']' token
test.cpp:38:21: error: expected primary-expression before ']' token
test.cpp:47:21: error: expected primary-expression before ']' token

我曾尝试使用 data 而不是 data[] 但后来我得到了这个:

test.cpp:36:16: error: invalid conversion from 'char*' to 'char' [-fpermissive]

我完全理解,因为我试图将指针转换为 char 值。

不管怎样,我都不知道我能做些什么来分配 单个节点中的整个数组。

在每个节点中分配一个元素对我正在尝试做的事情不起作用。

有什么建议吗?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)