如何解决在链表节点中分配数组
我最近开始学习编程,刚刚了解了链表。我知道如何在链表的节点中分配单个元素,如 char
或 int
。
我试图在单个节点中分配一个 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 举报,一经查实,本站将立刻删除。