一、实现思路
1、声明一个结构体类型,成员有数据类型和指针变量next;
2、将第一个结点的起始地址赋给头指针head,将第二个结点的起始地址赋给第一个结点的next成员,将第三个结点的起始地址赋值给第二个结点的next成员。第三个结点的next成员赋值为NULL,这样就形成了链表。
二、程序设计
`#include <stdio.h>
`
struct Student{
int num; //学号
float score;// 分数
struct Student *next; //next是指针变量,指向结构体变量
};
int main()
{
struct Student a,b,c; //定义三个结构体变量a、b、c作为链表结点
struct Student *head,*p; //定义头指针head和指针p
//对结点成员赋值
a.num=10001;
a.score=100;
b.num=10002;
b.score=90.5;
c.num=10003;
c.score=89.5;
head=&a; //将结点a的起始地址赋给头指针
a.next=&b; //将结点b的起始地址赋给结点a的next成员
b.next=&c; //将结点c的起始地址赋给结点b的next成员
c.next=NULL;//结点c的next成员不存放其它结点地址
p=head;
do{
printf("%d %5.2f\n",p->num,p->score);
p=p->next;
}while(p != NULL);
return 0;
}
标签:结点,01,score,静态,head,next,链表,num,赋给
From: https://www.cnblogs.com/xiaohuzaixue/p/17744374.html