- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
练一练 尝试编写学生管理系统,定义学生信息的结构体类型,分别用函数实现数据输入、数据输出、计算每个人的平均分,进行排序和成绩插入等操作。 小结:函数中的结构体 结构体变量可以传递给函数以及由函数返回,作为函数参数的传递方式与简单变量作为函数参数的处理方式完全相同。即采用“值传递”方式,形参结构体变量中各成员值的改变,对相应实参结构体变量不产生任何影响。 结构体数组作为函数参数,与数组作为函数参数的处理方式完全相同。即采用“地址传递”方式,形参结构体变量中各成员值的改变,对相应实参结构体变量产生影响。 共用体类型的定义 共用体类型定义的一般形式为: union 共用体类型名 { 数据类型 成员1; 数据类型 成员2; …… 数据类型 成员n; }; 共用体变量的定义 union 共用体类型名 变量名; 共用体变量中成员的引用 共用体变量名. 成员名 8.4 共用体的应用:学一学 试一试 问题8.9: 在第7章问题7.4中,我们利用位操作将按键的低8位和高8位分离出来进行键盘检测,现在我们使用共用体来检测键盘,如果用户按下左、右键,显示LEFT RIGHT,如果用户按下上、下键,显示UPDOWN,按ESC键退出。 解题步骤 1.宏定义上、下、左、右键和ESC键的键值 2.定义表达键盘的共用体keyboard 3.定义检测用户按键的函数int fnGetKey(void) 4.在主函数中调用函数int fnGetKey(void),根据用户按的上、下、左、右键显示不同的信息 流程图 程序代码:宏定义与共用体定义 #define LEFT 75 #define RIGHT 77 #define UPPER 72 #define DOWN 80 #define ESC 27 union keyboard{ unsigned int iKeyInfo; char chKeyBit[2]; }; /*定义共用体类型*/ 程序代码:用户函数 int fnGetKey(void) { union keyboard uniKey1; /*定义共用体变量*/ while(bioskey(1) == 0); /*检测用户有无按键*/ uniKey1.iKeyInfo=bioskey(0); /*读取按键信息*/ return (uniKey1.y[0]==0? uniKey1.chKeyBit[1]: uniKey1.chKeyBit[0]); /*返回ASCII码或扩充码*/ } 程序代码:主函数 void main() { int iKey; printf(please press direction key); while(1) { iKey = fnGetKey(); if(iKey==LEFT || iKey==RIGHT) printf(leftright); /*主菜单左右选择*/ else if(iKey==UPPER|| iKey==DOWN) printf(updown);;/*子菜单上下选择*/ if(iKey==ESC) break; /*执行编辑命令操作*/ } } 小结: 1.C最初引入共用体的目的,一是节省存储空间,另外是可以将一种类型的数据不通过显式类型转换而作为另一种类型数据使用,如问题8.9的解决方法。 2.共用体采用覆盖技术,实现不同类型的变量存放到同一内存单元,所以在每一时刻,存放和起作用的是最近一次存放的成员值。变量的各个成员使用同一段内存空间,所以对共用体变量的各个成员赋值时,最近的一次赋值才是有效的。 3.共用体变量所占用的内存空间,是其占用空间最多的那一个成员所占用的空间,而结构体变量是其各个成员所占内存空间的总和。共用体变量可以出现在结构类型中,结构变量也可以出现在共用体类型中。 4.共用体变量不能用作函数的参数,函数也不能返回共用体变量,而在定义共用体变量时,也不能进行初始化赋值。 * 尚辅网
您可能关注的文档
- 52北师大版小学语文五年级下册灯光课件.ppt
- 年级二年级第一课.ppt
- 52北师大版小学语文五年级下册凡卡课件.ppt
- 52北师大版小学语文五年级下册劳动的开端课件.ppt
- 年级上Unit6SectionA课件.ppt
- 年江苏卷高考诗歌鉴赏题汇编课件.ppt
- 年生物化学复习提纲课件.ppt
- 年石家庄市高考数学研讨会资料0809年石家庄市高考数学研讨会资料简析高考试题的特点及备考建议河北省石家庄一中张帆.ppt
- 年石家庄市高考数学研讨会资料0809年石家庄市高考数学研讨会资料如何备好一节课课件河北省石家庄二中王大芬.ppt
- 年石家庄市高考数学研讨会资料0809年石家庄市高考数学研讨会资料一元二次不等式的解法河北省藁城市一中安芹英.ppt
最近下载
- 设备生产培训.pptx VIP
- 学生公寓维修改造工程施工组织设计施工方案投标文件(技术方案).doc
- 铁路概论基础知识题库单选题100道及答案.docx VIP
- 交警大队事故处理委托书模板.docx VIP
- (高清版)DB23∕T 3915—2024 汉麻提取加工生产设施管理指南.pdf VIP
- 2024年浙江省镇海中学自主招生数学试卷及答案 .pdf VIP
- 高考化学一轮专项复习讲义-价层电子对互斥模型、杂化轨道理论及应用(含解析).pdf VIP
- 2025年3完整版_中考英语核心高频688词 【背诵版】 .pdf VIP
- 矩阵的乘法运算省名师优质课赛课获奖课件市赛课一等奖课件.pptx VIP
- 医疗机构药事管理与风险防范.pptx VIP
文档评论(0)