- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第9章_用户建立的数据类型
The C Programming Language C语言程序设计电子教案 第九章 结构体与共用体 C语言程序设计 北京建筑工程学院 Beijing Architecture and Civil Engineering Institute 教学内容 第一章 C语言概述 第二章 数据类型 第三章 顺序结构 第四章 选择结构 第五章 循环结构 第六章 数组 第七章 函数调用 第八章 指针 第九章 结构体与共用体 第十章 文件操作 补充章节 位运算 补充章节 预编译 内容提纲 结构体类型 结构体类型 定义结构体类型变量和引用结构体变量 结构体数组 结构体指针 结构体的高级应用 单链表 共用体类型 枚举类型 用typedef命名类型 结构体程序举例 9.1 结构体类型和结构体变量 问题定义: 有时需要将不同类型的数据组合成一个有机的整体,以便于引用。如:一个学生有学号/姓名/性别/年龄/地址等属性 int num; char name[20]; char sex;int age; int char addr[30]; 应当把它们组织成一个组合项,在一个组合项中包含若干个类型不同(当然也可以相同)的数据项 9.1 结构体类型和结构体变量 声明一个结构体类型的一般形式为: struct 结构体名 { 成员表列 }; 如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30];} 说明 说明: 结构体类型并不是只有一种,而是可以设计出许多种结构体类型 成员也可以是一个结构体变量 “结构体”这个词是根据英文单词structure译出的 定义结构体类型变量 可采用3种方法定义结构体类型变量: P250 先声明结构体类型再定义变量名 在声明类型的同时定义变量 不指定类型名而直接定义结构体类型变量 说明 注意: 结构体类型与结构体变量是不同的概念,不能混同 结构体类型中的成员名可以与程序中的变量名相同,但二者不代表同一对象 对结构体变量中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量 引用结构体变量 应遵守以下规则: 同类的结构体变量可以互相赋值 如:student1=student2; 不能将一个结构体变量作为一个整体进行输入和输出 例如: 已定义student1和student2为结构体变量并且它们已有值。 printf(“%d,%s,%c,%d,%f,%\n”,student1); 引用结构体变量 引用结构体变量中成员的方式为 结构体变量名.成员名 例如, student1.num表示student1变量中的num成员,即student1的num(学号)项。可以对变量的成员赋值,例如:student1.num=10010; “.”是成员(分量)运算符,它在所有的运算符中优先级最高,因此可以把student1.num作为一个整体来看待。上面赋值语句的作用是将整数10010赋给student1变量中的成员num 引用结构体变量 如果成员本身又属一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。只能对最低级的成员进行赋值或存取以及运算 对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算) 例如: student2.score=student1.score; student1.age++; 引用结构体变量 可以引用结构体变量成员的地址,也可以引用结构体变量的地址 例如: scanf(“%d”,student1.num); //输入student1.num的值 printf(“%o”,&student1); //输出student1的首地址 结构体变量的地址主要用作函数参数,传递结构体变量的地址 结构体变量的初始化 例9.1 对结构体变量初始化 9.2 结构体数组 一个结构体变量中可以存放一组数据(如一个学生的学号、姓名、成绩等数据)。如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组 结构体数组与以前介绍过的数值型数组不同之处在于每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员(分量)项 定义结构体数组 和定义结构体变量的方法相仿,只需说明其为数组即可。例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student[3];
您可能关注的文档
最近下载
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
- 2025商用车发动机气缸体铸件技术条件.docx VIP
- 颅内复杂动脉瘤介入治疗围术期护理专家共识2025 .pdf
- 第二节病虫害预测预报教学教材.ppt VIP
- 电梯新检规施工自检报告-曳引客货-2024.doc
- 2025年高考英语(新高考Ⅱ卷)试卷评析及2026高考备考策略 课件.pptx
- 2000年全国高中学生化学竞赛决赛(冬令营)理论试题与实验试题及参考答案精品.pdf VIP
- 苹果公司知识产权保护策略.pptx
- 中药饮片智能调剂与煎煮关键技术研究课件.pdf VIP
- 局部解剖学(山东联盟) 智慧树 知到答案.docx VIP
文档评论(0)