当前位置: 首页 > news >正文

刷赞网站推广qq免费重庆app软件开发公司

刷赞网站推广qq免费,重庆app软件开发公司,博客网站开发报告,少儿编程加盟教育机构联合 引言联合的声明联合的声明typedef命名联合 设置联合的值C89#xff08;标准#xff09;方式使用.操作符进行指定初始化 联合的内存布局联合的使用场景节省内存资源实际应用案例分析 总结 引言 在学习C语言基础时#xff0c;联合和结构体是两个经常被拿来比较的概念。虽… 联合 引言联合的声明联合的声明typedef命名联合 设置联合的值C89标准方式使用.操作符进行指定初始化 联合的内存布局联合的使用场景节省内存资源实际应用案例分析 总结 引言 在学习C语言基础时联合和结构体是两个经常被拿来比较的概念。虽然它们在某些方面相似比如它们都能存储多个成员、在声明、初始化、访问等方面都有很多共同点。 所以如果想学习联合结构体是不得不学习的一部分请查看我的博客结构体。 联合相对于结构体而言使用了一种特殊的内存使用方法。联合允许在相同的内存位置存储不同的数据类型当然这种特性只有在特定场景下非常有用尤其是在需要节省内存或者处理多种数据类型但不需要同时使用它们的场景中。 联合的声明 联合的声明 联合的声明与结构体类似声明联合的语法代码如下 union Myunion{int intValue;float floatValue;char *string; };这里的union为声明联合的关键字Myunion是联合的变量类型。 typedef命名联合 这一点也和结构体的命名非常类似。 typedef union{int intValue;float floatValue;char *string; }Myunion;这一串的代码与上面的代码的区别是使用了typedef将结构体起了一个新的名字这样在之后的编码过程中就不需要使用union来定义联合。 设置联合的值 C89标准方式 如果联合想保存第一个字段的值只要用花括号把值括起来就可以把值 赋给联合中的第一个字段。 typedef union {short count;float weight;float volume; }quantity;quantity q{4}//相当于将count赋值为4使用.操作符进行指定初始化 .操作符也是我们的老朋友了只不过这次我们需要指定将某一个字段初始化。 typedef union {short count;float weight;float volume; }quantity;quantity q{.weight1.5}//相当于将weight赋值为1.5 //或者用下面的代码 quantity q;//先进行声明。 q.volume3.7//对volume赋值为3.7。 联合的内存布局 在上述示例中不管是intValue、floatValue还是string它们都占据了相同的内存位置。这是联合的关键特点同一时间只能有效地存储一个成员的值因为所有成员共享内存。 typedef union {short count;float weight;float volume; }quantity;这里的三个变量count、weight、volume在同一时间只能有效地存储一个的值如果强行进行定义就会丢失数据。 为了能够表达所有的变量short占2个字节、float占4个字节。以占最大内存的float为标准联合占内存大小为4个字节。 在这里针对内存布局我们可以使用下面的代码进行说明 union MyUnion data; data.intValue 3;// printf(%d\n, data.intValue); data.floatValue 4.5; printf(%d\n, data.floatValue); printf(%d\n, data.intValue);// 如果执行这行代码此时尝试访问data.intValue将得到一个未定义的结果因为最后存储的是floatValue。联合的使用场景 节省内存资源 在系统中内存资源是有限的联合在一定程度上可以有效减少内存的占用。联合通过共享内存不同类型的数据可以被折叠存储减少了各个变量对内存的占用。 实际应用案例分析 在实际应用中联合的使用非常广泛。例如在网络通信中处理不同类型的消息包或者在图形用户界面中处理不同类型的事件数据。 我们以一个现实的例子来说明这个问题比如描述苹果我们可以从个数、体积、质量等方面进行描述我们只需要用一个量就可以描述苹果这个事物 union quantity {short count;float weight;float volume; };总结 在系统中内存空间资源是有限的。由于联合的特殊内存使用方式赋予了它极为高效的内存使用效率这造就了它在一些特殊情形的极为优秀的应用。可是“成也萧何败也萧何”在联合很大程度上节约内存的同时联合在同一时间点只能表达一个变量这导致了它的使用情形比较狭窄如果没有合理利用就会有数据丢失的风险。
http://www.pierceye.com/news/313001/

相关文章:

  • 国外 视频上传网站源码怎么看网站的访问量
  • 网站的建设框架3网站建设
  • 购物网站设计的目的wordpress 游戏主题下载失败
  • 兰州最好的网站开发公司单页网站是什么样子的
  • 在线购物商城网站江苏营销型网站
  • 如何在百度上为企业做网站wordpress轮播图设置
  • qt 网站开发怎样开发一个app软件
  • html5博客网站模板泉州市住房与城乡建设网站
  • 没网站怎么做app创意设计图片
  • 重庆涪陵网站设计公司推荐外贸优化网站制作
  • 网页怎么制作四页石家庄seo排名外包
  • 高校信息化建设 网站东阳网络科技有限公司
  • 网站 如何做 中英文切换网站怎么提升关键词排名
  • 企业只有建立自己的网站平台金坛建设局网站
  • 网站建设及维护费用网站开发质量控制计划书
  • dede免费网站模板内蒙古住房与建设官方网站
  • 网络设计开发网站电子商务网站建设财务分析
  • 牛商做网站的理念国外便宜域名注册商
  • 深圳网站制作880网页设计与制作教程 个人简历代码
  • 皇岗网站建设济南市住房和城乡建设局
  • 产品创新设计方案seo 网站案例
  • 做名片最好的网站上海网站开发制作公司
  • 网站如何做三端适配wordpress get_the_author_meta
  • 个人介绍微电影网站模板网站制作策划
  • 怎么在网上注册自己的网站网站框架建设
  • 哪个网站做自媒体比较好广西模板十大名牌排名榜
  • 苏州手机网站制作建设视频网站费用
  • 301的网站用什么来做为企业为什么做网站
  • wordpress怎安装关键词优化排名易下拉排名
  • 怎么做网站评估android安卓软件下载