C程序設计第11章结构体联合体与位运算.docVIP

C程序設计第11章结构体联合体与位运算.doc

  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文档。上传文档
查看更多
C程序設计第11章结构体联合体与位运算

第11章 结构体、联合体与位运算 本章介绍结构体、联合体及枚举类型等三种新的构造型数据类型以及位运算的基本方法,包括结构体的含义;结构体类型变量的定义、引用及初始化方法;结构体数组的定义和数组元素的引用;结构体类型指针的概念及链表的基本操作方法;联合体的含义;联合体类型变量的定义方法;枚举类型的定义; TYPEDEF的作用和位运算的基本方法等。 11.1 结构体类型 通过前面有关章节的学习,我们认识了整型、实型、字符型等C语言的基本数据类型,也了解了数组这样一种构造型的数据结构,它可以包含一组同一类型的元素。但仅有这些数据类型是不够的。在实际问题中,有时需要将不同类型的数据组合成一个有机的整体,以便于引用。例如,在生登记表中,姓名年龄。年龄学 号 (整型) 姓 名 (字符型) 性 别 (字符型) 年 龄 (整型) 总 分 (实型) 11301 Zhang Ping F 19 496.5 一组不同类型显然不能用一个数组来存放因为数组中各元素的类型和长度都必须一致。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构体”。 结构是一种构造类型,它由若干“成员”组成。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既是一种构造而成的数据类型,那么在使用之前必须先定义它,如同在调用函数之前要先定义一样。定义一个结构体类型的一般形式为: struct 结构体名 { 成员1 类型1; 成员2 类型2; ... 成员n 类型n; }; “结构体”这个词是根据英文单词structure译出的。结构体中的每个成员均须作类型说明,成员名的命名应符合标识符的书写规定例如: struct student{ int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ int age; /* 年龄 */ float score; /* 成绩 */ }; 在上述定义中,struct student是结构体类型名,其中struct是关键字,在定义和使用中都不能省略。该结构体由5个成员组成。第一个成员为num,整型变量,当然,在实际应用中我们也常常把学号定义为字符型;第二个成员为name,字符数组;第三个成员为sex,字符型;第四个成员为age,整型;第五个成员为score,实型变量。应注意末尾的分号是必不可少的。 数据类型和变量是两个不同的概念。有了一种结构体类型之后,就可用它去定义变量,就象用int 去定义一个整型变量那样。 定义结构体类型的变量有以下三种方法。 先定义结构体类型,再定义变量。 例如: struct student {int num; char name[20]; char sex; int age; float score; }; struct student student1,student2; 本例中,在定义了struct student这个结构体类型之后,再用这个类型标识符去定义了两个结构体变量student1与student2。 为了使用方便,也可以在程序开头定义一个符号常量来表示一个结构体类型。例如上例可改写成: #define STU struct student ... STU { int num; char name[20]; char sex; int age; float score; }; STU student1,student2; 在定义结构类型的同时定义结构体变量。 例如: struct student { int num; char name[20]; char sex; int age; float score; } student1,student2; 这是一种紧凑形式,既定义了类型,又定义了变量。如果需要,下文还可再用struct student定义其它同类型变量。 它的一般形式为: struct 结构体名 { 成员1 类型1; 成员2 类型2; ... 成员n 类型n; }变量名表列; 直接定义结构体变量。 例如: struct { int num; char name[20]; char sex; int age; float score; } student1,student2; 直接定义了两个结构体变量student1与student2。这种方法省去了结构体名,缺点是若下文再想定义同类型的变量就不便了。 上述三种方法中定义的变量student1与student2都具有下图所

文档评论(0)

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

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

1亿VIP精品文档

相关文档