STU * creat() { //定义函数创造一个链表,此函数返回一个指向链表头的指针 STU *head,*tail,*p; int num,sumtime,edutime; int exptime,score,term; char name[30],kind[30]; head=tail=NULL; printf("输入选修课程信息:\n"); scanf("%5d%12s%9s%9d%9d%11d%11d%7d",&num,name,kind,&sumtime,&edutime,&exptime,&score,&term); while(num!=0) { //将数据储存 p=(STU *)malloc(sizeof(STU)); p->num=num; strcpy(p->name,name); strcpy(p->kind,kind); p->sumtime=sumtime; p->edutime=edutime; p->exptime=exptime; p->score=score; p->term=term; if(head==NULL) head=p; else tail->next=p; tail=p; scanf("%5d%12s%9s%9d%9d%11d%11d%7d",&num,name,kind,&sumtime,&edutime,&exptime,&score,&term); } tail->next=NULL; return head; }代码的作用
时间: 2024-03-30 19:35:35 浏览: 50
C语言指针链表例子源码
这段代码定义了一个名为 `creat` 的函数,用于创建一个链表,并返回指向链表头的指针。在函数中,它首先定义了一些变量和结构体,然后让用户输入选修课程的信息,包括课程编号、课程名称、课程种类、总学时、教学学时、实验学时、学分和学期。然后,它将这些数据存储在一个名为 `STU` 的结构体中,并将它添加到链表中。最后,它将链表的最后一个节点的 `next` 指针设置为 `NULL`,并返回指向链表头的指针。
阅读全文