- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 结构体与共用体 主要内容 概 述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共 用 体 枚 举 类 型 用typedef定义类型 10.1 概 述 前面的章节已经介绍了基本类型的变量(如整型、实型、字符型变量等),也介绍了一种构造类型——数组,数组中的各元素是属于同一个数据类型的。 但是,在解决实际问题时,只有这些数据类型是不够的。有时需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是互相联系的。 10.2 定义结构体类型变量的方法 前面介绍了指定一个结构体类型,它相当于一个模型,其中并无具体数据,系统对它也不分配实际内存单元。为了能在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。可以采用以下3种方法定义结构体类型变量。 10.2 定义结构体类型变量的方法 先声明结构体类型再定义变量名 在声明类型的同时定义变量 直接定义结构体类型的变量 10.2 定义结构体类型变量的方法 直接定义结构体类型的变量 其一般形式为: struct {成员表列 }变量名表列; 即不出现结构体名。 关于结构体类型,有几点要说明: 10.2 定义结构体类型变量的方法 类型与变量是不同的概念,不要混淆。只能对变量赋值、存取或运算,不能对一个类型赋值、存取或运算。在编译时,对类型是不分配空间的,要对变量分配空间。 对结构体中的成员可以单独使用,它的作用与地位相当于普通变量。关于的成员的引用方法将在10.3节中介绍。 成员也可以是一个结构体变量 成员名可以与程序中的变量名相同,二者不代表同一对象。 10.3 结构体变量的引用 在定义了结构体变量以后,当然可以引用这个变量,但应遵守以下规则。 不能将一个结构体变量作为一个整体进行输入输出。例如,已定义student1和student2为结构体变量,并且它们已有值。不能这样引用: printf(%d,%s,%c,%d,%f,%s\n,student1); 只能对结构体变量中的各个成员分别进行输入和输出。引用结构体变量中成员的方式为: 结构体变量名.成员名 10.3 结构体变量的引用 如果成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级成员。只能对最低一级的成员进行赋值或存取以及运算。例如,对上面定义的结构体变量student1,可以这样访问各成员: student1.num student1.birthday.month 10.3 结构体变量的引用 对结构体变量的成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。例如: student2.score=student1.score; sum=student1.score+student2.score; student1.age++; ++student1.age; 由于“.”运算符的优先级最高,因此student1.age++ 是对student1.age进行自加运算,而不是先对age进 行自加运算。 10.3 结构体变量的引用 可以引用结构体变量成员的地址,也可以引用结构体变量的地址。如: scanf(“%d”,student1.num); (输入student1.num的 值) printf(%o,student1); (输出student1的首地址) 不能用以下语句整体读入结构体变量: scanf(%d,%s,%c,%d,%f,%s,student1); 结构体变量的地址主要用于作函数参数,传递结构 体的地址。 10.4 结构体变量的初始化 和其他类型变量一样,对结构体变量可以在定义时指定初始值。 10.4 结构体变量的初始化 【例】对结构体变量初始化。 main() {struct student {long int num; char name[20]; char sex; char addr[20]; }a={89031,Li Lin,M,123 Beijing Road}; printf(NO.:%ld\nname:%s\nsex:%c\naddress:%s\n, a.num,,a.sex,a.addr); } 程序运行结果如下: NO.:89031 Name:Li Lin sex:M address:123 Beijing Road 10.5 结构体数组 定义结构体数组 结构体数组的初始化 10.5.1 定义结构体数组 和定义结构体变量的方法相似,只需说明其为数组即可。 如: struct student {int num; char
您可能关注的文档
最近下载
- 包河区生物名师工作室工作总结.pptx
- 特定技能2号农业练习题11.docx
- 大学课程《PC装配式建筑概论》PPT教学:第3章 装配式钢结构建筑.pptx VIP
- 部编人教版七年级上册历史全册教案.docx VIP
- 第16课 畅享在线交流 教案 义务教育人教版信息科技三年级全一册.docx VIP
- 七上有理数混合运算专题训练.pdf VIP
- 大学课程《PC装配式建筑概论》PPT教学:第7章 装配式混凝土建筑施工技术.pptx VIP
- 2024年考研《数学一》真题及详解 .pdf VIP
- 第30课 在线安全防范 教案 义务教育人教版信息科技三年级全一册.docx VIP
- 《俄罗斯文学精讲》-公开·课件设计.ppt VIP
文档评论(0)