- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十结构体与共用
C程序设计:第十一章 结构体与共用体 PAGE PAGE 5 结构体与共用体 §11.1 结构体类型的定义 11.1.1 概述 在此之前,除数组外的基本变量都是属于非构造类型的数据。数组是一种构造类型数据。本章介绍另两种构造类型的数据——结构体和共用体。 C语言中的结构体相当于其他高级语言中的“记录”,它可以把多种类型的数据组合在一起,构成一个整体,一种新类型的数据,从而适应复杂类型数据的要求。 11.1.2 结构体类型的定义 定义 struct 结构体名 {成员1; 成员2; 成员n; }; /*只定义类型时,最后一行上的“;”不可缺少*/ 其中:结构体名称为该结构体标记。 成员称为结构体域(集合称为域表),其构成为“类型名 成员名”,成员名构成规则与变量名相同。 结构体变量的存储空间分配 各个成员所占字节数之和,即是该变量所需字节数。 结构体类型的定义示例见教材P260。 §11.2结构体类型变量的定义 可以用三种方法定义结构体类型变量。 11.2.1 先声明结构体类型,再定义变量 先定义一个结构体类型,其中student为结构体名,如: struct student /*该类型共包含4个成员,各成员的类型可以不同*/ {int num; char name[20]; int age; float score; }; /*作为类型的定义,此行最后的“;”不可缺少*/ 再定义两个属于struct student类型的结构体变量stud1和stud2 struct student stud1,stud2; /*其中“struct student”为结构体类型名*/ 这两个结构体变量stud1、stud2在内存中所占字节数均为28(=2+20+2+4)。 说明 定义一个标准类型的变量时,只需指定类型名、变量名即可,如int i,j; 而定义一个结构体变量时,不但要指定结构体类型,而且还必须指明是哪一种具体的结构体类型,如stud1,stud2;(student为具体的结构体名,而struct student整体则代表具体的结构体类型)。 11.1.2 在定义结构体类型的同时定义变量 如:struct student {int num; char name[20]; int age; float score; }stud1,stud2; /* 定义了两个struct student类型的变量stud1、stud2*/ 11.1.3 直接定义结构体类型变量 如:struct /* 结构体名并不出现,而直接定义变量*/ {int num; char name[20]; int age; float score; }stud1,stud2; 与第一种和第二种方法相比,若要再定义一些与stud1、stud2相同的结构体变量时,这种方法显然不方便。 11.1.4 关于结构体类型的几点说明 类型与变量是不同的概念,不能混淆。可以对变量进行存取、赋值等运算;却不能对类型进行这些操作或运算。此外,在编译时只对变量分配空间,并不对类型分配空间。 可以单独使用结构体变量中的成员,其地位和作用相当于普通变量。具体见后。 结构体的成员也可以是结构体变量。 struct date /* 定义一个名为“date”的struct date类型的结构体*/ {int month; int day; int year; }; struct student {int num; har name[20]; int age; struct date birthday; /* birthday成员是一个struct date类型的结构体变量*/ }stud1,stud2; /* 注意,此处用到的struct date类型应当是在此前已经定义的*/ 4、结构体变量内部的成员名可以与结构体外的其他变量名相同,但二者代表不同对象。 §11.3 结构体变量的引用 11.3.1 引用形式 结构体变量名.成员名 其中“.”为成员(分量)运算符,其运算级别与结合方向见书P375。 11.3.2 引用原则 不能将一个结构体变量作为整体进行输入和输出,而只能对结构体变量的各个成员进行输入输出。如:上例中可以有stud1.num=10010;stud2.num=20010; 只能对结构体中最低级的成员进行赋值、存取以及运算。若成员
您可能关注的文档
最近下载
- 2025年中国长寿医学与抗衰产业白皮书.pdf.docx
- 低空经济系列深度报告:低空经济:低空翱翔,拉开序幕426mb.pptx VIP
- 四川省拟任县处级党政领导职务政治理论水平任职资格考全套案例.doc VIP
- 《康养水水源评定规范》.pdf VIP
- 主要施工项目成品保护.docx VIP
- 面向智能建造的工程项目管理课程模块化案例教学模式.docx VIP
- 低空行业经济系列深度报告:低空经济,低空翱翔,拉开序幕.pdf VIP
- 营业执照法人变更委托书模板.docx VIP
- 2024年四川久远投资控股集团有限公司人员招聘笔试备考题库及答案解析.docx VIP
- 帛书甲本《老子》(竖排).pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)