在这个程序中,我们使用了链表来存储学生的信息。首先,我们创建了三个结构体变量a、b、c,并使用malloc函数为它们分配了内存空间。然后,使用scanf函数从标准输入中读取学生的信息并存储到结构体变量中。

接下来,我们将a、b、c按顺序连接起来,形成一个链表。具体来说,我们将a作为链表的头结点,将b作为a的下一个结点,将c作为b的下一个结点,最后将c的next指针设置为NULL,表示链表的结束。

最后,我们定义了一个指针变量p,将其初始化为head,然后依次遍历链表中的每个结点,并输出每个结点中存储的学生信息。

为了方便输出,我们在程序中使用了printf函数,将学生的学号、姓名和成绩依次输出。

至于为什么链表是先做head=a,最后再来个p=head,这是因为我们需要在遍历链表时保留链表的头结点。由于链表是通过指针进行连接的,因此我们需要一个指针变量来保存链表的头结点,这个变量就是head。我们通过将a赋值给head,将a作为链表的头结点。然后,我们定义一个指针变量p,将其初始化为head,这样在遍历链表时,我们就可以从头结点开始依次遍历整个链表了。

#includestdioh #includestdlibh struct student int num; char name20; double score; struct student next; ; int main 	struct student abcphead=NULL; 	a=struct student mallocsizeofstruct student;

原文地址: https://www.cveoy.top/t/topic/fvCF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录