北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第9章 结构体与共用体

C语言程序设计 第9章结构体与共用体 八此京故太受计算机系
1 第9章 结构体与共用体 北京科技大学 计算机系 C 语言程序设计

第9章结构体与共用体 9.1结构体 9.2共用体 9.3枚举类型与类型命名 2021/2/21
2021/2/21 2 第9章 结构体与共用体 9.1 结构体 9.2 共用体 9.3 枚举类型与类型命名

91结控体 911结构体与结构体类型的定义 信息管逕 个学生的信息有学号、姓名、性别、年龄、住 址、成绩等。 本图书的信息有分类编号、书名、作者、出版社、 出版日期、价格、库存量等。 如何描述这些类型不同的相关数据? 结构体 种构造类型数据 结构体由若干不同类型的数据项组成, 构成结构体的各个数据项称为结构体成员。 2021/2/21
2021/2/21 3 一个学生的信息有学号、姓名、性别、年龄、住 址、成绩等。 一本图书的信息有分类编号、书名、作者、出版社、 出版日期、价格、库存量等。 如何描述这些类型不同的相关数据? 9.1 结构体 9.1.1 结构体与结构体类型的定义 信息管理 结构体——一种构造类型数据 结构体由若干不同类型的数据项组成, 构成结构体的各个数据项称为结构体成员

91结控体 911结构体与结构体类型的定义 结杓体类烈定义的一散形式 struct结构体名 struct为关键字; {数据类型1成员名1 结构体名是用户定义 数据类型2成员名2; 的类型标识。 ●{}中是组成该结构体 数据类型n成员名n; 的成员。成员的数据 类型可以是C语言所允 许的任何数据类型。 2021/2/21
2021/2/21 4 struct 结构体名 { 数据类型1 成员名1; 数据类型2 成员名2; …… 数据类型n 成员名n; }; 9.1 结构体 9.1.1 结构体与结构体类型的定义 结构体类型定义的一般形式: ⚫ struct为关键字; ⚫ 结构体名是用户定义 的类型标识。 ⚫ { }中是组成该结构体 的成员。成员的数据 类型可以是C语言所允 许的任何数据类型

91结控体 911结构体与结构体类型的定义 例如学生类型的定义: struct student { char num8;/学号是字符数组类型 char name30;/姓名是字符数组类型* char sex; /性别是字符型 int age; /年龄是整型 char addr|60;/住址是字符数组类型*/ int scorel6;/成绩是整型数组类型* 2021/2/21
2021/2/21 5 例如图书类型的定义: struct bookcard { char num[10]; /*图书分类编号是字符数组类型*/ char name[30]; /*书名是字符数组类型*/ char author[30]; /*作者是字符数组类型*/ char publisher[60]; /*出版社是字符数组类型*/ float price; /*价格是单精度实型*/ int n; /*库存量是整型*/ }; 例如学生类型的定义: struct student { char num[8]; /* 学号是字符数组类型 */ char name[30]; /* 姓名是字符数组类型 */ char sex; /* 性别是字符型 */ int age; /* 年龄是整型 */ char addr[60]; /* 住址是字符数组类型 */ int score[6]; /* 成绩是整型数组类型 */ }; 9.1 结构体 9.1.1 结构体与结构体类型的定义

91结控体 912结构体变量的定义与初始化 1.结构体类型变量的定义 struct student 利用已定义的结构体类型名定mm 8个字节 struct结构体名变量名表;name30个字节 例如: 1个字节 age 2个字节 struct bookcard book1[100 addr 60个字节 ruct student sI30,t1,t2;scoe12个字节 按照结构体类型的组成,系统为定义的结构体 变量分配內存单元。结构体变量的各个成员在内存 中占用连续存储区域,结构体变量所占内存大小为 结构体中每个成员所占用内存的长度之和。20211
2021/2/21 6 9.1 结构体 9.1.2 结构体变量的定义与初始化 1. 结构体类型变量的定义 ⚫ 利用已定义的结构体类型名定义变量 struct 结构体名 变量名表; 例如: struct bookcard book1[100]; struct student s[30], t1, t2; 按照结构体类型的组成,系统为定义的结构体 变量分配内存单元。结构体变量的各个成员在内存 中占用连续存储区域,结构体变量所占内存大小为 结构体中每个成员所占用内存的长度之和。 struct student num 8个字节 name 30个字节 sex 1个字节 age 2个字节 addr 60个字节 score 12个字节

91结控体 结构体类型与变量的说明 struct date f int year,month, day; 3; num 8个字节 struct student name 30个字节 i char num[8 1个字节 char name 301; year2个字节 char sex: struct date birth d/ birthdaymonth2个字节 char addr 60li day2个字节 int score|6]」 addr 60个字节 score 12个字节 对象。 2021/2/21
2021/2/21 7 9.1 结构体 结构体类型与变量的说明 ⚫ 类型与变量是不同的概念。 ➢ 应先定义一个结构体类型,而后再定义结构体变量。 ➢ 系统对类型不分配空间,仅对变量分配空间。 ➢ 只能对变量赋值、存取或运算,而不能对一个类型 赋值、存取或运算。 ⚫ 成员也可以是结构变量。 ⚫ 对结构中的成员,可以单独使用,它的作用与 地位相当于普通变量。 ⚫ 成员名可与程序中的变量名相同时,也可与不 同结构体类型的成员名相同,二者代表不同的 对象。 struct date { int year,month,day;}; struct student { char num[8]; char name[30]; char sex; struct date birthday; /* 成员为结构体类型 */ char addr[60]; int score[6]; }; num 8个字节 name 30个字节 sex 1个字节 birthday year 2个字节 month 2个字节 day 2个字节 addr 60个字节 score 12个字节

91结控体 8 912结构体变量的定义与初始化 1.结构体类型变量的定义 在定义结构体类型的同时定义变量 struct结构体名 成员定义表; }变量名表; 例如: struct student f char num[8], name 20], sex; Int age; float score }st30]; 2021/2/21
2021/2/21 8 9.1 结构体 9.1.2 结构体变量的定义与初始化 1. 结构体类型变量的定义 ⚫ 在定义结构体类型的同时定义变量 例如: struct student { char num[8],name[20],sex; int age; float score; }st[30]; struct 结构体名 { 成员定义表; }变量名表;

91结控体 912结构体变量的定义与初始化 1.结构体类型变量的定义 ●直接定义结构体类型变量 struct {成员定义表; }变量名表; 例如: struct d char num[], name[20], sex; int agey fle oat score, 3st30], a, b, c; 2021/2/21
2021/2/21 9 9.1 结构体 9.1.2 结构体变量的定义与初始化 1. 结构体类型变量的定义 ⚫ 直接定义结构体类型变量 例如: struct { char num[8],name[20],sex; int age; float score; }st[30], a, b, c; struct { 成员定义表; }变量名表;

91结控体 10 9.12结构体变量的定义与初始化 2.结构体变量的初始化 【例94】结构体变量的初始化。 struct date 如果初值个数少于结构体成员个数 int year,mon则将无初值对应的成员赋以0值。 struct student如果初值个数多于结构体成员个数, i char num 8 则编译出错。 struct date birthday oat score, }a={"96060ll"," Li ming",M,{1977,12,9},83}, b={"9608025", Zhang liming";F",{1978,5,10},87},c 2021/2/21
2021/2/21 10 9.1 结构体 9.1.2 结构体变量的定义与初始化 2. 结构体变量的初始化 【例9.4】结构体变量的初始化。 struct date { int year, month, day;}; struct student { char num[8], name[20], sex; struct date birthday; float score; }a={"9606011","Li ming",'M',{1977,12,9},83}, b={"9608025","Zhang liming",'F',{1978,5,10},87},c; 如果初值个数少于结构体成员个数, 则将无初值对应的成员赋以0值。 如果初值个数多于结构体成员个数, 则编译出错
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 指针.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第7章 函数与预处理命令.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第6章 数组.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第5章 循环结构程序设计.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 选择结构程序设计.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第3章 顺序结构程序设计.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第2章 C语言基础.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第1章 预备知识.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 文件.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第七章 保真度准则下的信源编码.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第六章 波形信源和波形信道.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第五章(5-3)循环码.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第五章(5-5)纠错编码的基本思想.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第五章 有噪信道编码.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第三章 离散信道及其信道容量.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第二章 离散信源及其信息测度.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第一章 绪论.ppt
- 西北大学信息科学与技术学院:《信息与编码》课程教学课件(PPT讲稿)第四章 无失真信源编码.ppt
- 《计算机视觉》课程教学资源(教材)目录.doc
- 《计算机视觉》课程教学资源(教材)第九章 颜色视觉.doc
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第一章 多媒体技术概论 1.1 多媒体技术的基本概念 1.2 多媒体技术的应用状况(万麟瑞).ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第一章 多媒体技术概论 1.3 多媒体技术标准.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第二章 媒体信息处理技术 2.1 音频处理技术.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第二章 媒体信息处理技术(2.2)图像处理技术.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第二章 媒体信息处理技术(2.3)视频处理技术.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第三章 数据压缩技术 3.1 数据压缩的基本原理 3.2 数据压缩方法分类 3.3 常用压缩编码方法 3.3.1 信息熵编码.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第三章 数据压缩技术 3.3.2 预测编码.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第三章 数据压缩技术 3.3.3 变换编码 3.3.4 矢量量化编码.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第三章 数据压缩技术 3.4 图像压缩标准的混合编码.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第四章 光盘存储技术 4.1 光盘技术的发展与应用 4.2 CD_ROM光盘系统 4.2.1 光盘制作原理与方法 4.2.2 CD_ROM的物理存储格式.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第四章 光盘存储技术 4.2.4 CD_ROM驱动器工作原理 4.3 CD_I交互式光盘系统.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第五章 多媒体网络与通信技术 5.1 概述 5.2 可视电话系统 5.3 多媒体会议系统.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第五章 多媒体网络与通信技术 5.4 分布式CSCW系统.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第六章 多媒体数据库与超文本技术 6.1 MDBS体系结构 6.2 多媒体数据模型.ppt
- 南京航空航天大学:《多媒体技术及其应用》课程教学资源(PPT课件讲稿)第六章 多媒体数据库与超文本技术 6.3 超文本系统的基本概念.ppt
- 哈尔滨工业大学:《智能建筑网络通信技术》讲义.ppt
- 《数据库原理》第1章 绪论.ppt
- 《数据库原理》第2章 数据模型.doc
- 《数据库原理》SS2K3AccessMeth.ppt
- 《数据库原理》学生选课信息查询.doc