链表:链表是一种常见的重要的数据结构,是动态的进行存储分配的一种结构。
链表的组成:
头指针:存放一个地址,该地址指向第一个元素。
节点:用户需要的实际数据和链接节点的指针。
例如:
//定义一个学生结构体,包括学号、成绩以及结构体指针。
struct student{
int num;
float score;
struct student *next;
}
void main(){
//定义三个结构体变量和一个结构体指针变量
struct student a,b,c,*head;
//对结构体变量进行赋值
a.num = 1;
a.score = 80;
b.num = 2;
b.score = 90;
c.num = 3;
c.score = 100;
//将三个结构体变量进行链接
head = &a;
a.next = &b;
b.next = &c;
c.next = NULL;
//do while循环输出链表
do{
printf("%d %f\n",head->num,head-score);
}while(head != NULL);
}
建立动态链表:是指在程序执行的过程中从无到有的建立一个链表,即一个一个的开辟节点和输入各节点的数据,并建立前后相链接的关系。