- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工程科技]C语言第8章结构体体与共用体
第8章 结构体体与共用体 第8章 结构体体与共用体 8.1 概述 在实际生活中,有时需要将不同性质的数据构成一个整体,如通讯录是由姓名、地址、电话、邮政编码等组成的;学生成绩数据库是由学号、姓名、各科成绩及总分等组成,对于这样的一些有机整体,用数组是难于描述的。因此,在C语言中提供了一种新的构造型数据类型即结构体。结构体是一组相关的相同或不同类型的数据项的集合,集合中的数据是相互联系的。例如:学生成绩数据库中学号、姓名、各科成绩及总分,这些数据项都与某个学生相联系。从表8-1可以看出描述的是学号(xh)姓名(xm)为“李绯”同学的各科成绩。如果用独立的变量xh、xm、yw、sx、yy、jsj、zf来表示,很难反映它们之间的内在联系,所以定义一个结构体类型可以增加变量之间的相关性。 其中:struct为关键字(不可缺省),是结构体的标识符;结构体类型名称是所定义的结构体的类型标识,由用户自己定义(结构体类型名称也可以省略,此时为无名结构体);{ }中包围的是组成该结构体的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型,还可以是已定义的结构体类型。整个定义作为一个完整的语句用分号结束。 处理通信录可以定义如下结构体: struct address { char name[20]; // 姓名。字符数组作为结构体中的成员 char add[30]; // 家庭地址 unsigned long phone; // 电话 int zip; // 邮政编码 }; 为了描述日期可以定义如下结构体: struct date { int year; //年:整型作为结构中的成员 int month; // 月 int day; // 日 }; 在程序中,结构体的定义可以在一个函数的内部,也可以在所有函数的外部,在函数内部定义的结构体,仅在该函数内部有效,而定义在外部的结构体,在所有函数中都可以使用。 8.2 定义结构体类型的方法 8.2.1 定义结构体类型的变量 结构体的定义说明了它的组成,要使用该结构体就必须定义结构体类型的变量,通过结构体变量来引用结构体中的成员。定义结构体类型变量的定义一般形式为: struct 结构体类型名称 结构体变量名;如前面已定义了结构体类型student后,就可以直接定义结构体student型的变量。 struct student stu1,stu2 ;//定义stu1、stu2均为student类型的变量 注意,这里不能省略struct 。 在程序中,结构体的定义要先于结构体变量。有时为了体现简洁的风格,也可在定义结构体的同时定义结构体变量,其形式为: 8.2.2 定义结构体数组 结构体与数组的关系有两重:其一是在结构体中使用数组类型作为结构体的一个成员(如姓名、家庭地址);其二是用结构体类型作为数组元素的基本类型构成数组,即数组中的每一个元素都是结构体类型,称为结构体数组。 一个结构体变量中只能存放一组相关的数据(如一个学生的成绩信息),而结构体数组中的每一个元素都可以存放一组相关的数据,所以用结构体数组来处理批量数据(如多个学生的成绩信息)是非常方便的。 结构体数组的定义方法和结构体变量的定义方法相同可以先定义一个结构体,然后用该结构体类型来定义数组,也可以在定义结构体的同时定义结构体数组。 一般形式: struct 已定义的结构体名称 结构体数组名; //先定义结构体后定义结构体数组 或 struct 结构体类型名称 { 数据类型 成员名表列; }结构体数组名[数值常量]; //在定义结构体的同时定义结构体数组例如: Struct student { char xh[9];; char xm[20]; float yw; float sx; float yy; float jsj; float zf; }; struct student stu[3]; //假设有3个学生 8.3 结构体变量的引用 8.3.1. 结构体变量的引用 一般对结构体变量的引用都转化为对结构体中的成员的引用,由于结构中的成员都依赖于一个结构体变量,因此使用结构体中的成员必须指出访问的结构体变量。一般引用形式为: 结构体变量名. 结构成员名 例如:给stu1变量的各成员赋值: strcopy(stu1.xh,); strcopy(stu1.xm,” 李绯”); stu1.yw=85; stu1.sx=90; stu1.yy=78; stu1.jsj=92; 都是结构体
您可能关注的文档
- [工学]计算机组成原理复件输入输出系统.ppt
- [工学]计算机组成原理与系统结构实验指导书.doc
- [工学]计算机组成原理第2章.ppt
- [工学]计算机组成原理第四章.ppt
- [工学]计算机组成原理第二章8086、8088微处理器.ppt
- [工学]计算机组织与结构上机实验M以及MX实验报告牛添识.doc
- [工学]计算机编译原理课件1.ppt
- [工学]计算机网络Chapter3.ppt
- [工学]计算机绘图2008-200902.ppt
- [工学]计算机网络原理第五版课后习题答案老师给的呵呵.doc
- [工程科技]DOI101017S0962492902000089PrintedintheUnitedKingdomNumericalmethodsforlargeeige.pdf
- [工程科技]DMAIC-3_M_Phase.ppt
- [工程科技]DTZ重庆香港城项目规划定位报告.pdf
- [工程科技]E+H50W53W系列电磁流量计.pdf
- [工程科技]EI电源变压器设计.pdf
- [工程科技]ElnozahyTheinterplayofpowermanagementandfaultrecoveryinreal-timesystems.pdf
- [工程科技]EM05恒定磁场.pdf
- [工程科技]EPTDDISCUSSIONPAPERNO51DYNAMICIMPLICATIONSOFPATENTINGFORCROPGENETICRESOURCES.pdf
- [工程科技]EuropeanBusinessSchoolWorkingPapersonManagementAccounting&Control_No11Revised.pdf
- [工程科技]FANUC0iB系统调试培训资料.doc
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)