- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章结构结构定义和结构变量的引用结构数组指向结构的指针结构与函数引用自身的结构字段结构联合枚举结构定义和结构变量的引用结构定义结构变量的作用结构变量的初始化结构定义定义结构类型变量的三种方法结构类型的几点说明结构变量的引用不能将一个结构变量作为一个整体进行输出如只能对结构变量中的各个成员分别输出引用格式结构变量名成员名例如说明是结构成员运算符在所有的运算符中优先级最高因此可以把作为一个整体来看待注新的标准已允许将一个结构变量直接赋值给另一个具有相同结构的结构变量如果成员本身又属一个结构类型则要
第八章 结构 结构定义和结构变量的引用 结构数组 指向结构的指针 结构与函数 引用自身的结构 字段结构 联合 枚举 8.1 结构定义和结构变量的引用 结构定义 结构变量的作用 结构变量的初始化 8.1.1 结构定义 定义结构类型变量的三种方法: 结构类型的几点说明: 8.1.2 结构变量的引用 ?不能将一个结构变量作为一个整体进行输出。 如:printf(“%d,%s,%c,%d,%f,%s\n”,student1); 只能对结构变量中的各个成员分别输出。 引用格式: 结构变量名.成员名 例如:student1.num=10001; printf(“%d \n”, student1.num); 说明:“.”是结构成员运算符,在所有的运算符中 优先级最高,因此可以把student1.num作 为一个整体来看待。 注:新的标准已允许将一个结构变量直接赋值给另 一个具有相同结构的结构变量。 ?如果成员本身又属一个结构类型,则要用若干个 成员运算符,一级一级地找到最低一级的成员。 只能对最低级的成员进行赋值或存取及运算。例 如:对前面说明的结构变量student1,可以这样访 问成员: student1.num student1.name student1.birthday.month student1.birthday.day student1.birthday.year ?对结构成员(分量)可以像普通变量一样进行各种运算。 例如:student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ?可以引用成员的地址,也可以引用结构变量的地址。例如: scanf(“%d”, student1.num); /*输入student1.num的值*/ printf(“%p\n”,student1); /*输出student1的首地址*/ 但不能用以下语句整体读入结构变量,如: scanf(“%d%s%c%d%f%s”, student1); 8.1.3 结构变量的初始化 8.2 结构数组 8.2.1 结构数组的定义 与定义结构变量的方法相似,只需说明其为数组即可。 例如:struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu[30]; 8.2.2 结构数组的初始化 新的标准C版本不仅允许对全局的或静态的存储类结 构数组,而且允许对自动存储类结构数组初始化。如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu[3]={ {10001,“Li Lin”,‘M’,17,86.5,“103 Beijing Road”}, {10002,“Zhang Fun”,‘M’,18,96,“130 Shanghai Road”}, {10003,“Wang Min”,‘F’,19,83.5,“180,Wuhan Road”}}; 注意: 8.3 指向结构的指针 9.4 结构与函数 一、结构用作函数的参数 新的C标准允许用整个结构作为函数的参数传递,但必须保证实参与形参的类型相同。 说明:把一个完整的结构变量作为参数递,虽 然合法,但要将全部成员值一个个传递, 费时间又费空间,开销大。如果结构类 型还有一些成员是数组,则程序运行的 效率会大大降化。在这种情况下,用指 针作函数参数比较好,能提高运行效率。 二、函数返回结构值 当函数返回值是结构变量时,该函数称为结 构型函数。 旧的C标准不允许把结构变量作为函数返回值 使用。为建立结构与函数的联系,仍然要通过 指针,即函数可以返回指向结构的指针。返回 结构指针的函数称为结构指针型函数。新的C标 准增加了支持结构变量作为函数返回值的功能。 结构型函数定义的一般形式: struct
您可能关注的文档
- 第5单元:异步电动机及其控制技术.ppt
- 第5章三维几何造型技术 - 计算机辅助设计技术基础.ppt
- 第5章有限元分析软件.ppt
- 第6章分支限界法杨 - 课程中心.ppt
- 第7章 同步电动机.ppt
- 第6章 先进制造技术.ppt
- 第7章internet数据库.ppt
- 第8章at89c51系统接口技术85 步进电机与单片机的接口.ppt
- 第8章磁盘接口4..ppt
- 第8章复杂控制规律系统设计 y.ppt
- 2025江浙沪居民睡眠健康小调研报告.pdf
- 毕业论文的开题报告范文.docx
- 团委活动方案(拓展).docx
- 汽车智能驾驶行业深度报告:端到端与AI共振,智驾平权开启新时代.pdf
- 小核酸行业深度:技术平台和适应症不断验证,迎来销售和临床密集兑现期-华福证券-2025.3.31-65页.docx
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25031440页.docx
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25031430页.docx
- 全国租赁市场报告2025年3月_可搜索.pdf
- 玩具行业“情绪经济”专题:创新玩法+IP赋能,重新定义玩具-华鑫证券-2025.docx
- 医疗保健行业PCAB抑制剂药物深度报告抑酸药物市场空间广阔PCAB抑制剂大有可为-25.pdf
文档评论(0)