第十三讲 指向结构体的指针与链表
本讲首先介绍了C语言中指向结构体变量和结构体数组的指针变量的使用,接着介绍了结构体数据作为函数参数的使用,最后介绍了链表的概念和基本操作。要求大家掌握指向结构体变量的指针变量和指向结构体数组及数组元素的指针变量的定义和引用,理解指向结构体变量的指针变量、结构体变量及其成员作为函数参数的使用方法,掌握链表中结点的描述方式,了解链表的建立、输出、插入和删除操作。 知识要点
指向结构体变量的指针变量
1. 指向结构体变量的指针变量的定义
2. 利用指向结构体变量的指针变量对结构体变量成员的引用
指向结构体数组的指针变量 1. 指向结构体数组的指针变量的使用 结构体数据作函数参数
1. 结构体变量的成员作函数参数
2. 结构体变量作函数参数
3. 指向结构体的指针作函数参数
链表的概念
1. 链表的组成
2. 结点用结构体类型描述
3. 动态申请和释放内存单元的函数
链表的操作
1. 建立链表
2. 在链表中插入结点
3. 删除链表中的结点
§13.1 指向结构体变量的指针变量
指向结构体变量的指针变量的定义形式与一般指针变量的定义形式相同,只是将其指向类型定义为结构体类型即可。例如:
struct person
{ char name[20];
char sex;
int age;
float height;
};
struct person *p;
则指针变量p,它可以指向struct person类型的结构体变量。
将一个指针变量指向一个结构体变量后,可以利用指向该结构体的的指针变量引用成员,如: (* 指针变量名).成员名
以上形式也常写成:
指针变量名->成员名
其中,->为指向运算符,它是由符号“-”和“>”两部分构成的。指向运算符的优先级和成员运算符相同,也是最高一级。
§13.2 指向结构体数组的指针变量
指针变量可以指向整型、字符型、浮点型等基本类型数组。同样,指针变量也可以指向结构体类型的数组。
程序L13_2.C功能:使用指向结构体数组的指针变量。
#include
void main()
{ struct person
{ char name[20];
char sex;
int age;
float height;
}per[3]={{ "Li Ping", 'M ',20,175},