我有一個問題,需要了解鏈接列表上的一部分代碼,我不明白。 我正在建立一個雙向鏈表,並且有一部分我卡住了,希望有人能幫助我。 雖然我對C很陌生,但我希望能理解我所犯的錯誤。鏈接列表數組索引20已超過數組的末尾(其中包含20個元素)
struct node
{
struct node *previous; // Points to the previous node
char data[20];
struct node *next; // Points out to the next node
}*head, *last;
void insert_beginning(char value[20])
{
struct node *var, *temp;
var=(struct node *)malloc(sizeof(struct node));
var->data[20]=*value; // Here's my problem
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;
}
}
上線
,它說:
var->data[20]=*value;
我有一個紙條,上面寫着:數組索引20是過去的數組的末尾(其中包含20種元素)
有我錯過了什麼? 有人可以解釋我是什麼問題嗎?
謝謝大家幫助我 – user3117119