我想知道句子"考虑设置一个特殊的结构来指向列表的开头"手段。这是否意味着他希望在练习中创建一个指向列表开头的新结构,而不是用于制作列表的练习中使用的结构?或者他的意思是制作一个在练习2中创建的相同结构的虚拟结构?我做了这个节目;它看起来像这样。
#include <stdio.h>
#include <stdlib.h>
struct entry
{
int value;
struct entry *next;
};
struct entry *head, n1, n2, n3, n4, temp;
void insertentry (struct entry *newEntry/*= temp*/, struct entry *EntryNo/*=head*/ )
{
newEntry->next = EntryNo->next;
EntryNo->next = newEntry;
}
int main()
{
void insertentry (struct entry *newEntry, struct entry *EntryNo );
head = &n1;
n1.value = 100;
n1.next = &n2;
n2.value = 200;
n2.next = &n3;
n3.value = 300;
n3.next = (struct entry *) 0;
n4.value = 340;
printf("the value before the new entry\n");
while(head != (struct entry *) 0) {
printf("%i\n", head->value);
head = head->next;
}
head = &temp;
temp.next = &n1;
insertentry(&n4, &temp.next);
printf("the value after the new entry\n");
while(head != (struct entry *) 0) {
printf("%i\n", head->value);
head = head->next;
}
}
当我运行程序时,这就是(完全)出现的:
the value before the new entry
100
200
300
the value after the new entry
340
0
100
200
300
我做了一个名为&#34; temp&#34;指向列表的开头, 但是当程序开始运行时,虚拟结构中的值出现了。我该怎么办?有人可以帮忙吗?