- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
后续课程安排 今天是最后一次作业,大家辛苦了?! 12月12日讲链表 12月14日讲文件(乐驹),下午上机第一次模拟测试,必须参加。 12月21日总复习,下午上机第二次模拟测试。 12月30日下午2点答疑?(初定) * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * 计算概论 * C语言高级编程 结构与习题课 * 结构的概念 通常,一个学生的个人信息,包括:学号、姓名、性别、年龄、各门功课的成绩等数据,这些数据都与一个学生相关联,类型各不相同。如果将这些数据定义为各独立的简单变量: Number、Name、Sex、Age、Course1、Course2、… 这样就难以反映它们之间的内在联系。应该把它们组织成一个组合项,把它们当作一个有机的整体。 ——这个组合项就是结构(Structure) 结构类型及其定义 把多个紧密关联的变量(分量)顺序组织在一起,定义成一个新的复合数据类型——结构类型 定义一个结构类型 struct 结构类型名 { 类型1 分量名1; 类型2 分量名2; ...... }; 结构分量的类型可以相同,也可不同 同一个结构内的分量名不可相同 * struct point { float x; float y; }; 结构类型变量的定义 结构类型只是定义了一种新的数据类型 系统并不为这个新类型分配内存空间。 可以使用新的结构类型来声明变量——结构类型变量。 结构类型变量定义的两种形式: 用已定义的结构定义变量,例如: struct point point1; struct point point2; 定义结构的同时定义结构类型的变量,例如: struct city{ float x, y; int population; } city1, city2; 系统会为结构类型变量分配内存空间 * 结构类型变量中分量的访问 结构类型变量的值由其各个分量构成 对分量的访问一般通过“变量名.分量名”完成 结构赋值及访问的例子: float dx, dy; struct point { float x, y; } p1, p2, points[2]; p1.x = p1.y = 3.5f; p2.x = p2.y = 1.5f; dx = p1.x - p2.x; dy = p1.y - p2.y; * 结构变量本身可以作为一个整体来使用 points[0] = p1; points[1] = p2; 结构类型中的分量 结构类型中分量的类型可以是任何类型 基本数据类型的分量 struct point{ float x, y; }; 其他类型的分量:结构类型、数组类型 分量的类型不能是未定义的结构类型 分量的类型不能是正在定义的结构类型 * struct city { char name[32]; struct city city1; }x; struct city { struct point{ float x, y; }location; int population; char name[32]; }city1; struct city{ struct point location; int population; char name[32]; }city1; (city1.location).x 结构变量的内存布局 结构中各分量在内存中顺序存放 struct square { struct point { int x, y; } p1, p2; } sq1; sq1.p1.x = 10; sq1.p1.y = 20; sq1.p2.x = 100; sq1.p2.y = 200; * 主存储器 sq1.p1.x 10 20 100 200 * * sq1.p1.y sq1.p2.x sq1.p2.y 结构变量所占内存的大小 结构变量所占内存的大小并不完全等于于各分量所占字节数的总和 struct char_frequency { char c; int frequency; }; sizeof(strcut char_frequency)通常为8,而非5 这是编译器在编译时的一个特殊要求。 * 结构应用示例(1)
您可能关注的文档
最近下载
- 学堂在线 实用绳结技术 期末考试答案.docx VIP
- 风力发电技术的发展现状和未来发展趋势.pptx VIP
- 医疗行业数据脱敏技术方案.docx VIP
- 新译林九年级上Unit 4 精选短语和词汇(预习+复习+默写)2024-2024学年牛津版英语九年级上册.docx VIP
- DB14T 3225-2025煤矸石生态回填环境保护技术规范.docx VIP
- 精品解析:辽宁省沈阳市第四十三中学2024-2025学年八年级上学期期中考试 数学试题(原卷版).docx VIP
- 中医内科学中风(共42张PPT).pptx VIP
- 探究与实践++湖泊生态环境治理与保护+课件-2025-2026学年八年级地理上学期湘教版(2024).pptx VIP
- 医疗器械经营质量管理制度及工作程序.docx VIP
- 额定电压110 kV(Um=126 kV)交联聚乙烯绝缘电力电缆及其附件 第1部分:试验方法和要求.pdf VIP
文档评论(0)