C语言程序设计 课件 第九章(适于清华谭浩强版)
C语言程序设计 课件 第九章(适于清华谭浩强版)
第9章 结构体等构造数据类型
9.1 9.2 9.3 9.4 9.5 9.6 9.7
结构体 结构体与数组 结构体与指针 结构体与函数 联合体 枚举 类型定义
C语言程序设计 课件 第九章(适于清华谭浩强版)
9.1 结构体结构体类型的数据由若干称为“成员” 的数据组成,每一个成员既可以是一个基 本数据类型的数据,也可以是另一个构造 类型的数据。 结构体实际上是C编译没有提供的数据 类型,可以由程序员根据实际情况来自己 构造的一种新的数据类型。
C语言程序设计 课件 第九章(适于清华谭浩强版)
9.1.1 结构体的说明 为了描述起来简单,我们要先定义一 个结构体类型:time。time是时间,10点 30分50秒就是一个时间数据,当然我们可 以用三个整型变量来表示一个时间, int hour; int minute; int second; 不能表示三个变量之间的逻辑关系。
C语言程序设计 课件 第九章(适于清华谭浩强版)
我们把时间说明为TIME ,而TIME 含有小时、分、秒三个成分,则TIME的结 构体说明是: struct TIME { int hour; int minute; int second; };
C语言程序设计 课件 第九章(适于清华谭浩强版)
其中struct 是关键字,TIME是结构体 的类型名,它实际上规定了一种新的复杂数 据类型。 于是在随后的程序中就可以使用TIME 定义结构体变量了。 struct TIME audit_begin;
C语言程序设计 课件 第九章(适于清华谭浩强版)
结构体的说明方式: struct 结构体名 { 成员表; }; 其中成员表可以由一个或几个成员组 成,要说明每个成员的类型和名称,注意 最后用分号结束。
C语言程序设计 课件 第九章(适于清华谭浩强版)
结构体变量的定义方式: struct 结构体名 结构体变量表; 结构体说明要注意下面几点: (1)结构体说明并不引起存储分配,结构体 变量的定义才引起存储分配。存储分配时, 通常按照各成员在结构体说明中出现的先 后顺序依次排列。结构体成员的数据类型 可以是C语言的基本数据类型,也可以 是数组和指针类型。
C语言程序设计 课件 第九章(适于清华谭浩强版)
(2) 结构体成员还可以是另一个结构体类型, 结构体说明可以嵌套。 struct OBJECT { struct TASK { long plan; long start; long finish; } ti,tj; int count; }; OBJECT中嵌套定义了另外一个结构体 TASK。
C语言程序设计 课件 第九章(适于清华谭浩强版)
结构体说明不允许递归,也就是不允 许在一个结构体说明中嵌套对自己的定义。 struct WRONG { struct WRONG a; /*错误 */ int count; };(3)
C语言程序设计 课件 第九章(适于清华谭浩强版)
9.1.2 结构体变量的定义 结构体变量定义有三种方法。 第一种方法就是上面用过的:先说明结构 体,再定义结构体变量。 第二种方法是在说明结构体类型的同时定 义结构体变量。 例如: struct TIME { int hour; int minute; int second; } audit_begin,audit_end;
C语言程序设计 课件 第九章(适于清华谭浩强版)
这种方法的语法格式是: struct 结构体名 { 成员表; } 结构体变量表;
C语言程序设计 课件 第九章(适于清华谭浩强版)
第三种方法是在说明结构体时直接定义 结构体变量,并且不用指定结构体名。 struct { int hour; int minute; int second; } audit_begin,audit_end; 这种形式的语法为: struct { 成员表; } 结构体变量表;
C语言程序设计 课件 第九章(适于清华谭浩强版)
不能混淆结构体名和结构体变量这两 个概念。结构体名实际上
标识了程序员定 义的一种新的数据类型,编译系统不可能 为结构体名分配内存空间。只有当变量被 说明为这种由程序员自己定义的数据类型 的结构体时,编译系统才会为结构体变量 分配存储空间。在不引起混淆的情况下, 结构体变量可以简称为结构体。
C语言程序设计 课件 第九章(适于清华谭浩强版)
9.1.3 结构体成员的引用 C语言中对结构体变量的使用是通过 对其成员的引用来实现的。一般不能对 结构体变量进行整体的引用。 引用的方法: 结构体变量名.成员名 符号“.”是依据结构体变量名存取结 构体成员的运算符。
C语言程序设计 课件 第九章(适于清华谭浩强版)
例9.1 用符号“.”引用结构体变量的成员。 #include "stdio.h" void main() { struct TIME { int hour; int minute; int second; }; struct TIME audit_begin;
C语言程序设计 课件 第九章(适于清华谭浩强版)
audit_begin.hour=8; /*为audit_begin的每个成员赋值 */ audit_begin.minute=30; audit_begin.second=00; printf("\n audition time is \ %02d:%02d:%02d",\ audit_begin.hour,audit_begin.minute,\ audit_begin.second);}
…… 此处隐藏:727字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




