第08章结构体、共用体与枚举类型.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

例如:stud1.num=20101(赋值运算)stud2.num=stud1.num+1(算术运算)stud1.age++(自加运算)stud2.score=60.0(关系运算)addr=stud2.num(取地址运算)2.结构体类型变量的整体引用可以将一个结构体变量作为一个整体赋给另一个同类型的结构体变量。例如:stud2=stud1;执行stud2=stud1这个赋值语句时,完成将stud1变量中各成员项逐个依次赋给stud2中相应的各成员。当然要求stud1和stud2必须具有完全相同的数据类型。但必须注意,不允许将一组常量直接赋给一个结构体变量。如下面赋值语句是非法的:stud2={20102,“LiuHao”,‘F’,20,‘2P’,90}第29页,共79页,星期日,2025年,2月5日3.结构体变量的输入和输出结构体变量的输入输出,同样要求必须指明结构体变量所对应的各成员项。例如:scanf(%ld,%s,%c,%d,stud2.num,stud2.name,stud2.sex,stud2.age);表示输入stud2变量的各成员项的值;printf(%ld,%s,%c,%d\n,stud1.num,stud1.name,studl.sex,studl.age);表示输出studl变量的各成员项的值。应当注意:C语言不允许把一个结构体变量作为一个整体进行输入输出操作。因此下面的输入输出语句均是错误的。scanf(%ld,studl);printf(%ld\n,studl);或者scanf(%ld,%s,%c,%d,studl);printf(%ld,%s,%c,%d\n,studl);第30页,共79页,星期日,2025年,2月5日8.4结构体数组根据C语言规定,凡具有相同数据类型的数据均可以组成数组。例如前面讨论过的整型数组、实型数组、字符型数组以及布尔型数组等。根据同样的原则,具有相同结构类型的结构体也可以组成数组,称之为结构体数组,即结构体数组中的每一个元素都是结构体变量。8.4.1结构体数组定义与初始化第31页,共79页,星期日,2025年,2月5日1.结构体数组的定义定义结构体数组的方法和定义结构体变量的方法相类似,只是需进行数组定义说明。定义方法可以采用以下三种方法:(1)先进行结构体类型的定义,然后再定义结构体数组例如:structexaminees{longnum;charname[20];charsex;intage;chargrade[2];floatscore;};structexamineesstud[30];第32页,共79页,星期日,2025年,2月5日上面定义了一个结构体数组stud,它由30个元素组成,每个元素都是structexaminees类型。该数组在内存中占有一段连续的存储空间,相当于定义了一张软件考试的考生信息表。如图8-5所示:(2)同时进行结构体类型和结构体数组的定义例如:structexaminees{ longnum;…floatscore;}stud[30];第33页,共79页,星期日,2025年,2月5日(3)直接定义结构体数组而不需定义结构体类型名例如:struct{longnum;…floatscore;}stud[30];以上三种定义方法的效果均相同,定义后该数组的每个元素占33个字节,30个元素共占990个字节空间。它们在内存中的存储示意图如图8-6所示:第34页,共79页,星期日,2025年,2月5日2.结构体数组的初始化结构体数组在引用前可以进行初始化,即对结构体变量中的各个元素赋初始值。但C语言规定只能对全局的或静态存储类型的结构体数组初始化。例如:structexaminees{longnum;charname[20];charsex;intage;

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档