北大青鸟 c 第十一章 复杂数据类型及排序 Ⅴ ersion3.0 CHA
Version 3.0 复杂数据类型及排序 第十一章
回顾 上一节课主要讲解了以下内容: 字符串变量和常量 字符串指针 执行字符串的输入输出操作 各种字符串函数 如何将数组作为参数传递给函数 如何将字符串用作函数参数 北大青鸟
2 回顾 • 上一节课主要讲解了以下内容: – 字符串变量和常量 – 字符串指针 – 执行字符串的输入/输出操作 – 各种字符串函数 – 如何将数组作为参数传递给函数 – 如何将字符串用作函数参数
目标 定义结构体 声明结构体变量 解释如何初始化结构体 解释如何将结构体作为参数传递给函数 使用结构体数组 解释结构体数组的初始化 解释 typedef关键字 解释如何使用插入排序法和冒泡排序法对数 组进行排序 北大青鸟
3 目标 • 定义结构体 • 声明结构体变量 • 解释如何初始化结构体 • 解释如何将结构体作为参数传递给函数 • 使用结构体数组 • 解释结构体数组的初始化 • 解释 typedef 关键字 • 解释如何使用插入排序法和冒泡排序法对数 组进行排序
结构体 结构体由许多组织在一起的数据项组成,这 些数据项不需要属于同一类型 结构体可以容纳需要的任意多数据项 英雄 姓名 等级 武功 北大青鸟
4 结构体 • 结构体由许多组织在一起的数据项组成,这 些数据项不需要属于同一类型 • 结构体可以容纳需要的任意多数据项 姓名 等级 武功 英雄
结构体的使用 定义结构体元素 声明结构体变量 结构体赋值 结构体元素的引用 北大青鸟
5 结构体的使用 • 定义结构体元素 • 声明结构体变量 • 结构体赋值 • 结构体元素的引用
定义结构体元素 ·结构体定义形成了创建结构体变量的模板 结构体中的变量称为结构体元素或结构体成 员 示例: 英雄 struct HERo char 姓名 name[11]: int grade; 等级 power, 武功 float salary; 6 北大青鸟
6 定义结构体元素 • 结构体定义形成了创建结构体变量的模板 • 结构体中的变量称为结构体元素或结构体成 员 • 示例: struct HERO { char name[11]; int grade; int power; float salary; }; 姓名 等级 武功 英雄
声明结构体变量 一旦定义了结构体,就可以声明一个或多个该类型的变量 示例: struct hero h; 这条语句将会预留足够的内存来存放该结构体中的所有项 定义时声明结构体变量 先定义后声明 struct HERo char name[11]; struct HeRo h1 int grade, struct HERo h2. int powery struct HERo h3, h4. float salary: }h1,h2; 北大青鸟
7 声明结构体变量 • 一旦定义了结构体,就可以声明一个或多个该类型的变量 • 示例:struct HERO h1; • 这条语句将会预留足够的内存来存放该结构体中的所有项 struct HERO { char name[11]; int grade; int power; float salary; } h1, h2; struct HERO h1; struct HERO h2; struct HERO h3, h4; 定义时,声明结构体变量 先定义,后声明
初始化结构体 与变量和数组一样,结构体变量也可以在声明时初始化 HERO类型的变量h1和h2可以按照下面的方式进行声明和 初始化: struct HeRo char namely]: int grade; int power float salary; } struct HERo h={“张飞”,3,99,15.5} struct hero h2={“关羽”,3,100,359} 北大青鸟
8 初始化结构体 • 与变量和数组一样,结构体变量也可以在声明时初始化 • HERO 类型的变量 h1 和 h2 可以按照下面的方式进行声明和 初始化: struct HERO { char name[11]; int grade; int power; float salary; }; struct HERO h1 = {“张飞”, 3, 99,15.5}; struct HERO h2 = {“关羽”, 3, 100, 35.9};
结构体中使用的赋值语句21 可以使用一条简单的赋值语句将一个结构体 变量的值赋给另一个相同类型的结构体变量 例如,如果h和h2是同一类型的结构体变 量,那么下列语句是有效的: h2=h1 北大青鸟
9 结构体中使用的赋值语句2- 1 • 可以使用一条简单的赋值语句将一个结构体 变量的值赋给另一个相同类型的结构体变量 • 例如,如果 h1 和 h2 是同一类型的结构体变 量,那么下列语句是有效的: h2 = h1;
访问结构体元素 结构体元素通过使用点运算符(.)来引用, 这个运算符也称为成员运算符 语法 结构体变量名元素名 示例 scanf("%s,h1 name) 北大青鸟
10 访问结构体元素 • 结构体元素通过使用点运算符(.)来引用, 这个运算符也称为成员运算符 • 语法: 结构体变量名.元素名 • 示例: scanf("%s", h1. name);