结构体共用体和用户定义的类型.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

14.3共用体有时需要将几个不同时出现的变量共享一个内存单元.如:将一个整型变量、实型变量、字符型变量共同放入同一个地址空间(当然这几个变量不能同时用),怎么办?C提供了共用体(联合体)类型支持。14.3.1共用体类型union共用体名{类型标识符成员名;类型标识符成员名;…………….};例uniondata{inti;charch;floatf;};类型定义不分配内存fchi100地址开始定义形式:第21页,共44页,星期六,2024年,5月形式二:uniondata{inti;charch;floatf;}a,b;形式一:uniondata{inti;charch;floatf;};uniondataa,b,c,*p,d[3];形式三:union{inti;charch;floatf;}a,b,c;14.3.2共用体变量的定义fchifchiab共用体变量定义分配内存,长度=最长成员所占字节数共用体变量任何时刻只有一个成员存在1、共用体变量的定义第22页,共44页,星期六,2024年,5月2共用体变量引用引用方式:例a.i=1;a.ch=‘a’;a.f=1.5;printf(“%d”,a.i);(?编译通过,运行结果不对)引用规则不能引用共用体变量,只能引用其成员共用体指针名-成员名共用体变量名.成员名(*共用体指针名).成员名uniondata{inti;charch;floatf;};uniondataa,b,c,*p,d[3];a.ia.cha.fp-ip-chp-f(*p).i(*p).ch(*p).fd[0].id[0].chd[0].f共用体变量中起作用的成员是最后一次存放的成员例union{inti;charch;floatf;}a;a=1;(?)不能在定义共用体变量时初始化例union{inti;charch;floatf;}a={1,’a’,1.5};(?)可以用一个共用体变量为另一个变量赋值例floatx;union{inti;charch;floatf;}a,b;a.i=1;a.ch=‘a’;a.f=1.5;b=a;(?)x=a.f;(?)第23页,共44页,星期六,2024年,5月例将一个整数按字节输出低字节高字节01100001ch[0]ch[1]运行结果:i=60501ch0=101,ch1=141ch0=A,ch1=amain(){unionint_char{inti;charch[2];}x;x.i=24897;printf(i=%o\n,x.i);printf(ch0=%o,ch1=%o\nch0=%c,ch1=%c\n, x.ch[0],x.ch[1],x.ch[0],x.ch[1]);}第24页,共44页,星期六,2024年,5月结构体与共用体区别:存储方式不同structnode{

文档评论(0)

xiaoshun2024 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档