网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计曹哲曹哲书xg第10章节xg.ppt

C语言程序设计曹哲曹哲书xg第10章节xg.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.6 共用体 共用体变量的初始化和引用 1. 共用体变量的初始化 共用体变量的初始化与结构体不同,共用体变量的初始化只能使用与第一个成员数据类型相同的值。 例如: union item code={100}; 是合法的。 下面的初始化语句: union item code={12.75}; 是非法的。 2. 共用体变量的引用 共用体变量的引用方式与结构体相同,只能引用共用体变量中的成员。 例如: union item code; code.m=20; code.x=10.6; 注意,共用体采用的是覆盖技术。因此共用体变量中存放和起作用的是最后一次存入的成员值。上述引用中,只有10.6是有效的数值,因为20已经被10.6覆盖。 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 尚辅网 / 第10章 结构体与共用体 学习内容指南 10.1 结构体类型的声明 10.2 结构体变量的定义、初始化和引用 10.3 结构体数组 10.4 指向结构体变量的指针 10.5 动态单链表 10.6 共用体 前言 首先要自己声明结构体学生的数据类型,以便于对每个学生的信息进行处理。此结构体类型的名称和内部格式可以这样进行描述: 结构体 学生 { 学号; 姓名; 性别; 年龄; 成绩; }; 学 号 姓 名 性 别 年 龄 成 绩 1 张 敏 女 19 95 2 王 杰 男 20 91 3 李 晨 女 19 93 … … … … … 例: 学生信息表 若被处理对象是一个游戏玩家,则此结构体类型的名称和内部格式可以这样描述: 结构体 玩家 { 姓名; 分数; }; 由此可以看出,结构体类型描述了被处理数据的类型名称和数据内部格式。其中,学生和玩家称为结构体名,是由程序员根据实际情况和编程习惯自己命名的,而“结构体 学生”和“结构体 玩家”才是结构体类型的名称;结构体类型的内部格式是由基本类型数据(也可以是构造数据类型)进行描述的。 “结构体 学生”类型可描述如下: struct student { int num ; char name[10] ; char sex ; int age ; float score ; } ; 经自己声明之后,被处理对象有了自己的数据类型,接下来就可以定义这种类型结构体变量,并对结构体变量进行处理 这里要注意,一定要弄清结构体类型与结构体变量的区别。结构体类型和结构体变量可以进行如下类比,结构体类型相当于描述一张表的名称和表头,而表格中除表头外的每一行(称作记录)是结构体变量。从这里也可以看出,结构体类型是抽象的,而结构体变量是具体的。 10.1 结构体类型的声明 一般情况下,使用结构体编写程序时,结构体类型的声明格式如下: struct 结构体名 { 数据类型 结构体成员1 ; 数据类型 结构体成员2 ; …… } ; 其中struct是声明结构体类型的关键字,结构体名(tag-name)由程序员自己命名,如student。而“struct 结构体名”才是所声明的结构体类型名。 例如,前言提到的结构体名为student的结构体类型,如下: struct student { int num ; char name[10] ; char sex ; int age ; float score ; } ; 声明结构体类型时,需要注意以下几点: 以分号结束(指的是上例中右大括号“}”后面的分号),且该分号必不可少。 结构体类型的声明当作一个语句来处理。类型内部使用若干个独立的语句对每个成员进行声明。 在接下来的程序设计中,就可以使用此结构体类型对结构体变量进行定义了。 10.1 结构体类型的声明 需要强调一个问题,数组也是一种构造类型。和结构体类型一样可以使程序能够以一种相对容易的方式来访问和操作数据,但是数组和结构体类型之间也有几点区别: 数组内的元素是相同类型的数据的集合,而结构体所有成员可以是不同类型的数据的集合; 数组是C语言本身自带的一种数据类型,而结构体是由程序员自己声明的一种数据类型; 数组的使用与int、float等基本数据类型的使用方法完全相同,即变量定义和使用两个方面。而结构体则包

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档