【发布时间】:2013-05-04 09:15:50
【问题描述】:
我已经为双向链表创建了一个结构和函数。它对整数完美无缺,但现在我必须将其转换为使用字符。在角色方面,我总是遇到问题,当我输入一个角色时,我会得到一个恒定的循环。
到目前为止我有:
struct node
{
struct node *previous;
char data;
struct node *next;
}*head, *last;
void begin(char value)
{
struct node *temp;
char *var=(char *)malloc(sizeof(char)*100);
var->data=value;
if(head==NULL)
{
head=var;
head->previous=NULL;
head->next=NULL;
last=head;
}
else
{
temp=var;
temp->previous=NULL;
temp->next=head;
head->previous=temp;
head=temp;
}
}
我使用了之前使用字符的 push/pop 函数中的一些示例,但我不确定我做错了什么。
编辑:忘记输入错误> null.c:14:错误:请求成员“数据”不是结构或联合 null.c:17:警告:来自不兼容指针类型的赋值
【问题讨论】:
-
您希望数据的大小为 1 个字符,还是尝试使数据字符串的长度为 100?
-
我的菜单是这样制作的,基本上它应该是在开头添加'a',添加'b',在末尾添加'c',在'c'之前插入'd',然后显示。所以只有 1 个字符,但请看下面的帖子,它修复了错误但没有返回 'a'
标签: c pointers char malloc doubly-linked-list