问题描述
我最近开始学习编程,刚刚了解了链表。我知道如何在链表的节点中分配单个元素,如 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 (将#修改为@)