所谓建立动态链表是指在程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结点和输入各结点数据,并建立起前后相链的关系。
代码如下:
#include <stdio.h>
#include <stdib.h。
#define LEN sizeof(struct Student)
struct Student{
long num;
float score;
struct Student * next;
};
int n;
struct Student * creat(void){
struct Student * head;
struct Student * p1, *p2;
n = 0;
p1 = p2 = (struct Student *)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
head = null;
while(p1->num != 0){
n = n+1;
if(n == 1)
head = p1;
else
p2->next = p1;
p2 = p1;
p1 = (struct Student *)malloc(LEN);
scanf("%ld,%f,&p1->num,&p1->score);
}
p2->next = null;
return (head);
}