复习与补充 结构体类型与链表 1、结构体类型的定义与结构体变量 2、结构体指针 3、自定义数据类型 4、链表的概念与形成链表的基本要素 5、链表的操作:创建、插入、删除
复习与补充二 1、结构体类型的定义与结构体变量 2、结构体指针 3、自定义数据类型 4、链表的概念与形成链表的基本要素 5、链表的操作:创建、插入、删除 结构体类型与链表
1、结构体类型的定义与结构 体变量 结构体类型是一种构造性类型,可以将不同类型的数据项作为一个整体 来操作,且数据项可以是不同的数据类型,可以是基本数据类型,也可以是 构造数据类型 格式 定义格式: struc t结构体名{ 例 struct person 数据类型1数据项标识: char name[20] 数据类型2数据项标识2 int age char sex ong num, char address[20: struct person p1
1、结构体类型的定义与结构 体变量 结构体类型是一种构造性类型,可以将不同类型的数据项作为一个整体 来操作,且数据项可以是不同的数据类型,可以是基本数据类型,也可以是 构造数据类型。 • 格式 定义格式: struct 结构体名 { 数据类型1 数据项标识1; 数据类型2 数据项标识2; …… }; 例: struct person { char name[20]; int age; char sex; long num; char address[20]; }; struct person p1;
定义结构体类型变量的方法 定义结构体变量有几种方法 1、先定义结构体类型,再定义结构体变量; struct s int a; float f struct sx, y 2、同时定义结构体类型和变量; struct s int a; float fx, y 3、不指定结构体类型名,直接定义变量: struc t dint a; float f x, y 注意:1、定义变量才能分配相应内存空间,类型只是说 明一种格式; 结构体类型可以嵌套定义 例: b2 struct
定义结构体类型变量的方法 定义结构体变量有几种方法 1、先定义结构体类型,再定义结构体变量; struct s {int a; float f}; struct s x,y; 2、同时定义结构体类型和变量; struct s {int a;float f}x,y; 3、不指定结构体类型名,直接定义变量; struct {int a;float f}x,y; 注意:1、定义变量才能分配相应内存空间,类型只是说 明一种格式; 2、结构体类型可以嵌套定义 例: b2_struct
结构体变量的引用 引用是对结构体变量中的成员进行访问,其格式是: 结构体变量名·成员名 对嵌套定义的结构体类型进行多层引用 tH: struct datefint year; int month; int day struct student char name [20] struct date birthday )stul 则引用:stu1. birthday.year 成员的引用可以进行成员类型相关的运算。 相同类型的结构体变量可以相互赋值
结构体变量的引用 引用是对结构体变量中的成员进行访问,其格式是: 结构体变量名 • 成员名 对嵌套定义的结构体类型进行多层引用。 如: struct date{int year; int month; int day}; struct student{char name[20]; struct date birthday; }stu1; 则引用: stu1.birthday.year 成员的引用可以进行成员类型相关的运算。 相同类型的结构体变量可以相互赋值
2、结构体指针 结构体变量的首地址称为结构体变量的指针,该地 址可以赋值给一个指针变量。 、结构体指针变量的定义 struct sint x, y float z: struct s a,*p;a为结构体变量,p为指针变量 二、通过结构体指针变量对结构体成员操作 若有以上定义,且有赋值语句:p=&a;则指针p指向 结构体变量a。 a.x(*p).x注意括号p-〉x三种形式均对 结构体变量a取成员 例: struct_pointer
2、结构体指针 结构体变量的首地址称为结构体变量的指针,该地 址可以赋值给一个指针变量。 一、结构体指针变量的定义 struct s{int x,y; float z;}; struct s a,*p; a为结构体变量,p为指针变量 二、通过结构体指针变量对结构体成员操作 若有以上定义,且有赋值语句: p=&a; 则指针p指向 结构体变量a。 a.x (*p).x 注意括号 p->x 三种形式均对 结构体变量a取成员。 例: struct_pointer