C语言程序设计课件第8章091101.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计课件第8章091101.ppt

高级语言程序设计 第八章 结构、联合、枚举 内容提要 本章介绍3种用户自定义类型:结构、联合、枚举 需要掌握这几种用户自定义类型的以下知识: 为什么要定义这种类型,是为了适合何种数据存储与处理需要的 该类型定义的形式 该类型的变量在内存中占用空间的形式及其访问方式 重点是结构类型,对该类型还应掌握以下知识: 该类型的嵌套定义,其不同层次成员的访问方式 在结构中的同名问题 结构数组与结构指针的使用(处理一批记录) 结构类型在函数中的使用:形参的设定,返回值等问题 一些常用算法在结构中的实现(如排序) 结构——类型定义 为什么需要结构类型: 有的时候需要一组相关的信息表示同一个对象,例如一个学生的信息包括:学号、姓名、性别、成绩等,这些数据项的类型不一定一致,即使是同一种类型也会对应不同的意义,因此需要将它们作为一个变量的成员组成一个整体。 此前所学的标准类型及数组和指针类型都无法满足这一需求 结构类型的定义格式: struct 结构类型名 { 结构体成员表列; }; 结构——类型定义 结构类型的定义举例: struct Date //表示日期的结构 { int yr; //年 int mo; //月 int da; //日 }; struct Student //表示学生信息的结构 { long unsigned id; //学号 double grades; //成绩 }; 结构变量的定义 结构类型定义后, struct 结构类型名 就作为结构类型名使用,可以定义该类型的变量,有3种形式: (1)先定义结构类型,再定义结构变量 例:struct Date dt; struct Student st; (2)在定义结构类型的同时定义结构变量,结构类型名不省略,将结构变量名写在结构类型定义结束的右大括号之后、分号之前 例:struct Date //不省略结构类型名 { int yr,mo,da; //年、月、日 }dt; //定义结构变量dt 用typedef定义结构类型别名 用typedef可以为一个结构类型定义别名,以方便定义结构类型的变量,定义结构类型别名也有3种形式: (1)先定义结构类型,再定义结构类型的别名: 例:typedef struct Date Date; Date dt; (2)在定义结构类型的同时定义其别名 ,结构类型名不省略,将结构类型别名写在结构类型定义结束的右大括号之后、分号之前 例: typedef struct Date //不省略结构类型名 { int yr,mo,da; //年、月、日 } Date; //定义结构类型别名Date 结构变量的访问 结构变量的初始化:与其他类型的变量类似,结构变量在定义时也可以进行初始化,常用两种方式: (1)将初值用一对大括号括起,依次列出各个成员的值,所列出的值可以少于成员个数,默认用0填充 例:Date dt1={2005,8,16}; Date dt2={2009,4}; (2)两个类型一致的结构变量可以用一个为另一个初始化 例:Date dt4,dt3=dt1; 结构变量在定义之后,可进行赋值,满足以下要求: (1)两个类型一致的结构变量可以用一个为另一个赋值 (2)注意:结构变量定义之后,不能再用各个成员的值给结构变量作整体赋值 结构变量成员的访问 结构变量占用内存的方式: 与数组很类似,一个结构变量的各个成员在内存中依次占用地址相邻的内存单元,因此一个结构变量所占的空间至少为其各个成员所需的内存空间之和 结构变量与其成员的关系: 结构变量是一组(成员)变量的整体标志,是“外衣”,其中的每一个成员变量(简称成员)都是这个整体中的成分。 引用结构变量成员的方式: 必须从结构变量名开始,在其后加成员引用运算符“.”,再加成员名: 例: Date dt1={2005,8,16}; 相当于:dt1.yr=2005; dt1.mo=8; dt1.da=16; 结构变量成员的访问 程序8.1 结构变量成员的引用示例 该例中用到了前面例子中的两个结构体类型: struct Student //表示学生信息的结构 { long unsigned id; //学号 float grades; //成绩 }; struct Date //表示日期的结构 { int yr,mo,da; }; 结构指针

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档