第9 结构体与共用体.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.1 概述实际编程中,要处理复杂的不同类型的相关数据: 如一个学生的信息包括学号、姓名、性别和考试成绩等数据,其数据类型可分别定义为整型、字符串类型、字符型和实型;这些各不相同的数据又是相关联的,它们共同表示某个学生的信息。C提供满足需求的复杂数据类型: 结构体(struct) 类型、 共用体(union ) 类型 枚举 (enum ) 类型。9.2 结构体结构体:一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型结构体类型定义合法标识符可省:无名结构体struct [结构体名]{ 类型标识符 成员名; 类型标识符 成员名; …………….};成员类型可以是基本型或构造型struct是关键字,不能省略2字节num…name20字节1字节sex2字节age4字节score…..addr30字节例子图解例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; 结构体类型定义描述结构的组织形式,不分配内存结构体类型定义的作用域 结构体变量的定义结构体类型定义先定义结构体类型,再定义结构体变量一般形式: 例struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };struct student stu1,stu2; struct结构体名{ 类型标识符 成员名; 类型标识符 成员名; …………….};struct 结构体名 变量名表列;结构体变量定义一般形式:定义结构体类型的同时定义结构体变量struct结构体名{ 类型标识符 成员名; 类型标识符 成员名; …………….}变量名表列;例struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2; 结构体类型定义结构体变量stu1,stu2定义一般形式:直接定义结构体变量struct{ 类型标识符 成员名; 类型标识符 成员名; …………….}变量名表列;例struct { int num; char name[20]; char sex; int age; float score; char addr[30]; } stu1,stu2; 用无名结构体直接定义变量只能一次说明:结构体类型与结构体变量概念不同:类型:不分配内存; 变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆结构体类型及变量的作用域与生存期具有嵌套结构的结构体类型 struct date{ int year;int month;int day; }; struct student1{ int number; char name[8]; char sex; struct date birthday; float score;};a.number=200801;a.name=he li;a.sex=?m?;a. birthday.year=1990a. birthday.month=1990a. birthday.day=1990a.score=92;struct student1 a; /*定义变量a */结构体变量的引用引用规则 结构体变量不能整体引用,只能引用变量成员引用方式:结构体变量名.成员名成员(分量)运算符优先级: 1结合性:从左向右例:在上例中 stu1.sex=?m?; stu1.score=87.5;可以将一个结构体变量赋值给另一个结构体变量结构体嵌套时逐级引用例:在上例中 stu2=stu1;结构体变量的初始化形式一:struct结构体名{ 类型标识符 成员名; 类型标识符 成员名; …………….};struct 结构体名 结构体变量名={初始数据};例struct student { int num; char name[20]; char sex; int age; char addr[30]; }; struct student stu1={112,Wang Lin,?M?,19, 200 Beijing Road};结构体变量的初始化形式二:struct结构体名{ 类型标识符 成员名; 类型标识符 成员名;

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档