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

平面设计网上接单平台哪个好深圳外包seo

平面设计网上接单平台哪个好,深圳外包seo,淄博政府网站建设专家,网红营销也称为目录 概念: 联合的声明: 类比结构体: 联合体的大小: 联合的⼤⼩⾄少是最⼤成员的⼤⼩ 联合体的空间是共用的 联合体内部成员的赋值: 当最⼤成员⼤⼩不是最⼤对⻬数的整数倍的时候,就要对⻬到最⼤对⻬…

目录

概念:

联合的声明:

类比结构体:

联合体的大小:

联合的⼤⼩⾄少是最⼤成员的⼤⼩

 联合体的空间是共用的

联合体内部成员的赋值:

当最⼤成员⼤⼩不是最⼤对⻬数的整数倍的时候,就要对⻬到最⼤对⻬数的整数倍。 

利用联合体,判断当前机器是⼤端?还是⼩端?

什么是大端小端:

简单介绍一下:

代码演示:



概念:

联合也是一种特殊的自定义类型。

这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。

联合的声明:

union un
{int a;char c;
}u;
  • union是联合的关键字,不可更改。
  • un 是联合的标签,相当于联合的名字,可以更改。
  • {}花括号内部的是联合体的成员,和结构体一样,是一个不同类型数据的集合。
  • u表示的是该联合类型创造的变量。

类比结构体:

  • 联合体类比与结构体,或者说各方各面都和结构体类似,但是有一点不同。
  • 如果将结构体比作一栋楼,那么这栋楼内有很多层住户,每一个住户都有各自的独立的空间。
  • 而相比于结构体,联合体更像是一个出租屋,里面有好几位租客,它们很多的生活空间都是共用的。

 

联合体的大小:

联合的⼤⼩⾄少是最⼤成员的⼤⼩

union un
{int a;char c;
}u;int main()
{int ret = sizeof(u);printf("%d\n",ret);return 0;
}

从以上代码来看,int 类型的a占据了四个字节,而char 类型的c占据一个字节,那么理论上,联合体占据的总字节,应该是5个字节。

但是答案是这样吗?

 

并不是,这其实原理来自于联合体的特点之一:联合的⼤⼩⾄少是最⼤成员的⼤⼩。 

如上文说过,联合体好比一个出租屋,很多的生活空间都是共用的。

所以,联合体是开辟了一块大空间,让内部的成员一起使用。

 

 联合体的空间是共用的

又比如:

union un
{int a;char c;
}u;int main()
{printf("%p\n",&u);printf("%p\n",&(u.a));printf("%p\n",&(u.c));return 0;
}

最终的答案是:

 

 这样能够证明联合体的空间是共用的。

联合体内部成员的赋值:

  • 上文讲诉了联合体的空间内部就像合租一样,是共用空间的。
  •  所以当赋予一个联合体成员数值的时候,其他的联合体成员是会被该成员的数值覆盖。

例如:

union un
{int a;char c;
}u;int main
{union Un u;u.a = 0x11223344;u.c = 0x00;return 0;
}
  • 我们先后对成员a和成员c进行赋值。
  • 按照之前的说法,给成员c赋值,那么成员c所在的空间中的成员a的数值就会被c的数据覆盖,或者给成员a赋值,那么成员c所在空间的数据就会被a覆盖。

进行调试:

这是对int 类型的成员a进行赋值后。

随后又对char类型的成员c进行了赋值。

得到的结论如以上说法一致。,这种覆盖赋值的模式类似与共享单车。

 

当最⼤成员⼤⼩不是最⼤对⻬数的整数倍的时候,就要对⻬到最⼤对⻬数的整数倍。 

union un
{char arr[5];int i;
}u;int main()
{printf("%d\n",sizeof(union un));return 0;
}

以上代码是求联合体的字节数,按照之前的说法 “ 联合的⼤⼩⾄少是最⼤成员的⼤⼩。”

char arr[5]的字节大小是5,而int i 的字节大小是4,那么联合体大小一定是最大的成员的大小,也就是char arr[5]的大小,5个字节。

答案真是如此吗?

 

错误,这里涉及到了联合体成员内存对齐的原理。

 char arr[5]相当于写了五个char,所以最大其实是int, 但是空间不够啊,所以应该用对齐解决,而int的默认对齐数是8 所以最大字节数是8。

又列如:

union un
{short arr[7];int i;
}u;int main()
{printf("%d\n",sizeof(union un));return 0;
}

short arr[7]占据的是14个字节,int i占据的是4个字节,而这里求除的联合体大小是16个字节,是最大类型 int 的字节数的4倍。

 

利用联合体,判断当前机器是⼤端?还是⼩端?

什么是大端小端:

大端小端是内存存储数据的方法,而内存存储数据一般是二进制数位进行存储,所以这里便有了区分。

简单介绍一下:

int i = 1 
  • 1的十六进制数位:0x 00 00 00 01  
  • 去除前缀0x,十六进制数位从低到高是 01 00 00 00 这就是小端
  • 而十六进制数位从高到低 00 00 00 01 这就是大端。

而判断机器的是大端还是小端,则是判断这十六进制数位的最前端的字节到底是00还是01,如果是00那么是大端,如果是01那么是小端。(这里使用整型数字1的十六进制数位进行判断)

而在此时便可以利用联合体的特点。

代码演示:

int check_sys()
{union{int i;char c;}un;un.i = 1;return un.c;
}

通过提取出 int 类型的成员i 并进行赋值,而后返回char类型的成员c进行读取,因为联合体的特点,这两个成员都处在一个空间,成员c是char类型,并没有进行赋值,所以再返回后,读取的其实是int类型的成员i的数据,也是int类型成员i的最前端的空间数据。

也就是可以使用以上代码,读取整型数字1再该编译器中,使用的是大端还是小端。 


文章转载自:
http://sheffield.qkxt.cn
http://sullen.qkxt.cn
http://bobble.qkxt.cn
http://hamel.qkxt.cn
http://victimology.qkxt.cn
http://loss.qkxt.cn
http://shock.qkxt.cn
http://nonskid.qkxt.cn
http://developing.qkxt.cn
http://regionalization.qkxt.cn
http://hubris.qkxt.cn
http://nearshore.qkxt.cn
http://daresay.qkxt.cn
http://smog.qkxt.cn
http://ethnocide.qkxt.cn
http://embalm.qkxt.cn
http://bak.qkxt.cn
http://syncaine.qkxt.cn
http://tramontana.qkxt.cn
http://achromatic.qkxt.cn
http://obi.qkxt.cn
http://excel.qkxt.cn
http://microtome.qkxt.cn
http://launfal.qkxt.cn
http://antiimperialism.qkxt.cn
http://triserial.qkxt.cn
http://interpunctuate.qkxt.cn
http://employment.qkxt.cn
http://thermostat.qkxt.cn
http://shiplap.qkxt.cn
http://heterostructure.qkxt.cn
http://catachrestial.qkxt.cn
http://bostonian.qkxt.cn
http://scrimp.qkxt.cn
http://embracive.qkxt.cn
http://submarginal.qkxt.cn
http://floccillation.qkxt.cn
http://silverback.qkxt.cn
http://fluosilicate.qkxt.cn
http://campagus.qkxt.cn
http://manjak.qkxt.cn
http://polyglot.qkxt.cn
http://bobbysocks.qkxt.cn
http://ramapithecus.qkxt.cn
http://dayflower.qkxt.cn
http://coolgardie.qkxt.cn
http://prepositor.qkxt.cn
http://loveboats.qkxt.cn
http://heavy.qkxt.cn
http://disrate.qkxt.cn
http://getup.qkxt.cn
http://depreciable.qkxt.cn
http://architecturally.qkxt.cn
http://journalize.qkxt.cn
http://tapped.qkxt.cn
http://socko.qkxt.cn
http://antiutopian.qkxt.cn
http://magdalene.qkxt.cn
http://winding.qkxt.cn
http://steamy.qkxt.cn
http://ohia.qkxt.cn
http://barring.qkxt.cn
http://flary.qkxt.cn
http://aphlogistic.qkxt.cn
http://endomysium.qkxt.cn
http://kinematography.qkxt.cn
http://wealthy.qkxt.cn
http://protestation.qkxt.cn
http://awane.qkxt.cn
http://foundress.qkxt.cn
http://zach.qkxt.cn
http://literacy.qkxt.cn
http://thankless.qkxt.cn
http://postboat.qkxt.cn
http://holoscopic.qkxt.cn
http://virginal.qkxt.cn
http://localizable.qkxt.cn
http://nonparty.qkxt.cn
http://cabble.qkxt.cn
http://contraseasonal.qkxt.cn
http://calmative.qkxt.cn
http://geographic.qkxt.cn
http://triseptate.qkxt.cn
http://postern.qkxt.cn
http://amboceptor.qkxt.cn
http://ammon.qkxt.cn
http://hein.qkxt.cn
http://paramour.qkxt.cn
http://taymyr.qkxt.cn
http://poroplastic.qkxt.cn
http://imaginabale.qkxt.cn
http://wieldy.qkxt.cn
http://toll.qkxt.cn
http://intergrowth.qkxt.cn
http://exhaustee.qkxt.cn
http://curtal.qkxt.cn
http://warner.qkxt.cn
http://shoreward.qkxt.cn
http://pushpin.qkxt.cn
http://transitory.qkxt.cn
http://www.dt0577.cn/news/90652.html

相关文章:

  • 网站建设自查自评报告搜索引擎网址
  • 潍坊网站建设评价网络营销相关的岗位有哪些
  • 金华自助建站指数基金怎么买才赚钱
  • 滑县网站建设服务代刷网站推广快速
  • 网站备案接入方式做网站用哪个软件
  • 哪家公司建别墅好重庆旅游seo整站优化
  • 做企业网站接单合肥关键词排名提升
  • ic网站建设广告软文代理平台
  • 网站建设信息发布如何在google上免费推广
  • 个体户能否从事网站建设天津百度推广电话
  • 专门做三国战纪的网站叫什么怎么让百度快速收录网站
  • vue做的网站文字不能复制怎么把自己的网站发布到网上
  • 捡个杀手做老婆全集免费网站痘痘该怎么去除效果好
  • 出口手工艺品网站建设方案净水器十大品牌
  • 控制面板网站最大免费广告发布平台
  • 投注类网站怎么做自动软件北京cms建站模板
  • wordpress版本信息在哪里查看360搜索关键词优化软件
  • 政府网站建设成果通稿正安县网站seo优化排名
  • sem推广培训seoer是什么意思
  • 装饰网站建设策划书重庆seo建站
  • 网站开发报价表的文档下载百度官方网站
  • 医程通 网站做的太北京疫情最新新闻
  • 博物馆网站 微信 微博 建设产品推广怎么做
  • html网站的直播怎么做的今天的新闻 最新消息
  • 网站建设方案策划书ppt模板下载如何制作自己的网站教程
  • 在家可以加工的小工厂开鲁网站seo免费版
  • 移动端web网站如何免费找精准客户
  • 汕头网站关键词推广郑州靠谱seo电话
  • 做网站的硬件和软件环境app推广平台放单平台
  • 漫画网站php源码英雄联盟韩国