- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 结构体与共用体 10.1 学 习 要 求 一、基本内容 (1) 结构体和共用体类型数据的定义方法和引用方法。 (2) 用指针和结构体构成链表,单向链表的建立、输出、删除与插入。 二、学习要求 结构体类型是重点。结构体类型是一种构造类型,它将具有内在联系的不同类型的数据封装在一起,使C语言能够处理复杂的数据结构。 要求理解并掌握结构体数据类型的概念;掌握结构体类型的声明方式;掌握结构体类型变量的定义,结构体成员的引用和初始化方法;掌握结构体数组的概念,结构体数组的定义、初始化及应用,学会运用结构体数组进行基本的数据处理。 掌握用指针和结构体构成链表,单向链表的建立、输出、查找、删除与插入等基本操作的实现方法。 掌握共用体类型数据的概念、定义方法和引用方法。 掌握枚举类型的概念、定义及使用。 10.2 内 容 要 点 一、结构体类型的定义 struct 结构体名 {成员列表 }; 花括号内所封装的多个不同类型的数据称为成员变量,对各成员变量应进行类型说明。结构体的总字节数为结构体中各成员变量的长度之和。成员变量可以是各种合法的C类型,还可以是另一个结构体类型,称为结构体类型的嵌套。同一结构体类型中的各成员变量不可互相重名,但不同结构体类型间的成员变量可以重名,并且成员变量名还可与程序中的变量重名,因为它们代表着不同的对象。 二、定义结构体类型变量的方法 定义一个结构体类型变量,可以采用以下三种方法: (1) 先定义结构体类型,再定义变量名。 struct student stu1,stu2; (2) 在定义类型的同时定义变量。一般形式为: struct 结构体名 {成员列表 }变量名列表; 例如: struct student {int num; ?char name[20]; ?char sex; ?int age; ?float score; ?char add[30]; }stu1,stu2; (3) 直接定义结构体类型变量。一般形式为: struct {成员列表 }变量名列表;即不出现结构体名。 三、结构体类型变量的引用 引用结构体变量应遵守以下规则: (1) 不能将一个结构体变量作为一个整体进行输入和输出。例如:已定义stu1和stu2为结构体变量,则不能这样引用: printf(“%d,%s,%c,%d,%f\n”,stu1);只能对结构体变量中的各个成员分别输出,引用方式为: 结构体变量名?.?成员名例如: stu1.num; 上式表示stu1变量中的num成员。可以对变量成员赋值,例如: stu1.num=1001;其中,“.”是成员运算符,它在所有运算符中优先级是最高的。 (2) 如果成员本身又属于一个结构体类型,即结构体定义是嵌套的,则要用若干成员运算符“.”,逐级引用到最低级,只能对最低级的成员进行赋值、存取或运算。 (3) 各成员变量均可像其所属类型的普通变量一样进行该类型所允许的任何运算。例如: sum=stu1.score+stu2.score; stu1.age++; (4) 可以引用成员的地址,也可以引用结构体变量的地址。例如: scanf(“%d”,stu1.num); printf(%d,stu1);结构体变量地址主要用作函数参数,传递结构体的地址。 四、结构体变量的初始化 结构体型变量的值可以直接以初值表的形式初始化。例如: struct student {long int num; ?char name[20]; ?char sex; ?char add[20]; }a={98031, li lin, m, 123 beijing}; 五、结构体数组 一个结构体变量中可以存放一组数据,如果有多组这样的数据需要参加运算,则应该用数组,这就是结构体数组。结构体数组中的每个元素都是一个结构体类型的数据,它们都包含各个成员项。 1) 结构体数组的定义 定义结构体数组与定义结构体变量的方法类似,只需说明其为数组即可。例如: struct student a[3]; 2) 结构体数组的初始化 例如: struct student {int num;?? char name[20]; ?char sex;
您可能关注的文档
- C#面向对象基础教程 作者 宋楚平 周建辉 第3章 面向对象编程基础.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第6章 接口和抽象类.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第7章 封装.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第10章 集合和泛型.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第11章 字符串.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第12章 程序的异常和调试.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第1章 C++简单程序设计.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第3章 数组.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第5章 程序结构.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第6章 指针与字符串.ppt
- C语言程序设计课程与考试辅导 作者 王晓丹 9-16 第11章.ppt
- C语言程序设计课程与考试辅导 作者 王晓丹 9-16 第13章.ppt
- C语言程序设计课程与考试辅导 作者 王晓丹 9-16 第14章.ppt
- C语言程序设计课程与考试辅导 作者 王晓丹 9-16 第15章.ppt
- C语言程序设计项目化教程高职 作者 李培金 全书教案 第2章.ppt
- C语言程序设计项目化教程高职 作者 李培金 全书教案 第3章.ppt
- C语言程序设计项目化教程高职 作者 李培金 全书教案 第4章.ppt
- C语言程序设计项目化教程高职 作者 李培金 全书教案 第5章.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 2分支程序设计.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 3循环程序设计.ppt
文档评论(0)