《结构体和共用体》PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} emp1,emp2,emp3;
5/8/2019
12
(3) 直接定义结构类型变量
struct
{ 数据类型 成员名; 数据类型 成员名;
... }变量名1,变量名2,…,
变量名n;
struct
{ int num; char name[8]; char address[200]; char department[20]; floatwk.baidu.comsalary;
定义了3个结构变量emp1,emp2和emp3, 它们是struct employee类型的变量
5/8/2019
11
(2) 定义结构类型时定义结构变量
struct结构体名
{ 数据类型 成员名; 数据类型 成员名;
... }变量名1,变量名2,…,
变量名n;
struct employee
{ int num; char name[8]; char address[200]; char department[20]; float salary;
如果使用大量的二维数组。数据结构的复杂化带 来了程序结构的复杂化,使程序难于设计,可读 性降低,调试困难
5/8/2019
3
10.1 结构体类型的定义
结构体类型定义的一般形式为 struct 结构体类型名 {
数据类型 成员名; 数据类型 成员名; ... };
5/8/2019
4
某部门工作人员信息
} emp1,emp2,emp3;
5/8/2019
13
结构体变量的存储
每个结构体变量在内存中存放时,要占用 连续的一段存储空间,其成员变量按结构 类型说明的次序依次存放
三个结构体变量emp1,emp2,emp3在内 存中的存放形式
5/8/2019
14
10.3 结构体变量的引用
1. 结构体变量成员的一般引用方法 结构体变量名.成员变量名
9
注意
类型与变量是不同的概念,不要混同 char , float 是 类 型 , 上 面 定 义 的 结 构 体
struct employee,struct comm也是类型 只能对变量进行赋值、存取、运算,而对
类型不能进行操作 类型决定变量占用存储空间大小、变量的
处理方法
5/8/2019
200501 zhang 90
70
80.5
89
95
…… …… …… …… ……
……
… …
5/8/2019
8
结构体描述学生成绩表
struct stu_info {
long no; char name[8]; float math,english,politics,computer,c; };
5/8/2019
第10章 结构体与共用体
主要内容
结构体的定义 结构体变量的定义 结构体成员项的引用 共用体类型和变量的定义 共用体变量的引用
5/8/2019
2
背景
不同类型的数据相互联系,需要统一处理
基本数据类型和数组难以解决这类问题。如,
某部门工作人员的基本情况表就是由若干不同 属性的数据项组成的一个整体,每个工作人员的 基本情况可以由这样一些数据项组成:编号(num)、 姓名(name)、住址(address)、部门(department)、 工资(salary)等
对在结构体变量中又嵌套了结构体引用的 一般方法是
结构体变量名.成员结构体变量名.成员变量名
如:emp1.num,mycomm.tel, mycomm.birthday.year
5/8/2019
15
“.” 运算符
“.”是c语言成员运算符 在所有运算符中,它的优先级最高
mycomm. birthday. year是一个整体 访问结构体变量的成员与访问同一个相应
10
10.2 结构体变量的定义
定义结构类型变量可以有下面三种方法 (1) 先定义结构类型再定义结构变量。 一般定义形式为
struct 结构体名 变量名1,…,变量名n; 其中,结构体名是已经定义过的结构体标识符 struct employee emp1,emp2,emp3; struct comm mycomm;
return result; }
5/8/2019
num name
address
department salary
1001 zhang Da Xue Road 75
accout
2130.0
1002 wang Da Xue Road 75
…… ……
……
market ……
1550.0 ……
5/8/2019
5
结构体描述某部门工作人员信息
struct employee
struct complex b ) /*复数的乘法*/ { struct complex result;
result.RealPart = a.RealPart * b.RealPart - a.ImaginaryPart * b. ImaginaryPart;
result.ImaginaryPart = a.RealPart * b.ImaginaryPart + a.ImaginaryPart *b. RealPart;
类型的变量一样,对结构体成员能进行什 么操作完全取决于成员本身的类型
5/8/2019
16
【例10.4】设计表示复数的结构体类型,并求2个复 数的和与积。
# include <stdio.h> struct complex { float RealPart, ImaginaryPart; }; struct complex product ( struct complex a,
{ int num; char name[8]; char address[200]; char department[20]; float salary;
};
5/8/2019
6
结构体描述个人通讯录
姓名 电话
通讯地址
E-mail
出生日期 年 月日
struct comm
{
char name[20];
unsigned long tel;
char addr[80];
char email[50];
struct birthday
{ int year;int month;int day;} bd1;
};
5/8/2019
7
学生成绩表
Num name math english politics computer c
相关文档
最新文档