游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

C语言结构体大小你算对了吗

  C语言中struct声明创建一个数据类型(结构体),能将不同类型的对象聚合到一个对象中,用名字来引用结构体的各个组成部分。结构体的所有组成部分都存放在一段连续的内存中。
  如果创建一个结构体,其实际占用的内存空间大小是多少呢?示例代码如下:structS{inti;charc;intj;};
  要正确计算结构体大小,首先需要了解数据对齐的原理。数据对齐
  许多计算机系统对基本的数据类型的合法地址做了一些限制。要求某种类型对象的地址必须是某个值(通常为2、4、8)的倍数。这种对齐限制简化了形成处理器和内存系统之间接口的硬件设计。
  对齐原则:任何占用K字节空间大小的基本对象,其地址必须是K的倍数。
  那么,char类型数据存储地址必须是1的倍数。short类型数据存储的地址为2的倍数,以此类推。
  确保每种数据类型都是按照指定方式来组织和分配,即每种类型的数据都满足它的对齐限制,就可以保证实施对齐。
  对于包含结构体的代码,编译器可能需要在字段的分配中插入间隙,以保证每个结构成员都满足它的对齐要求。而结构体本身对它的起始地址也有一些对齐要求。
  由此,编译器可能需要在结构体成员内存的分配中插入间隙,保证每个结构成员都满足它的对齐要求。或者需要在结构体的末尾加入填充,从而使得结构体数组中的每个元素都会满足它的对齐要求。结构体大小计算
  情形一
  结构体中间插入间隙,上述代码:structS{inti;charc;intj;};
  如果编译器按照最小9字节分配,是不可能满足成员i和j的4字节对齐要求的。此时,编译器会在成员c和j之间插入一个3字节的间隙。结果j的偏移量为8,而整个结构体的大小为12。
  情形二
  另外一个示例如下,其大小是多少呢?structS2{inti;intj;charc;};
  要正确计算这个结构体的大小,需要这样考虑:创建这个结构体的数组,每个数组元素都会满足它的对齐要求。
  如果给这个结构体分配9个字节。考虑结构体数组structs2a〔4〕,就不能满足数组a的每个元素的对齐要求。假设数组的起始地址为x,则每个元素的地址分别为x、x9、x18、x27,有三个元素不满足对齐原则。
  由此,编译器会为结构s2分配12个字节,最后三个字节是补充的空间(浪费的空间),即在结构体的末尾增加填充。
  情形三
  结构体成员是另外一个结构体时,示例如下:structsta{inti;intj;charc;};structstb{inti;charc;intj;charcc;structstatmp;};
  结构体srb的大小是多少呢?
  要计算这种类型的结构体,只需要把其中的结构体成员当成一个整体即可。
  先忽略成员tmp,结构体stb的大小为16字节(中间和末尾均需要填充间隙);结构体sta的大小为12字节。从而可以计算得出,结构体stb的实际大小为161228字节。
  情形四
  使用编译指令,示例代码如下:pragmapack(1)structS3{inti;intj;charc;}pragmapack()
  注意编译指令pragmapack的主要作用就是改变编译器的内存对齐方式。在不使用这条指令的情况下,编译器采取默认方式对齐。
  此处的两条编译预处理指令,使得在这之间定义的结构体按照1字节方式对齐。在本例中,使用这两条指令的效果是,编译器不会在结构体尾部填充空间了。
  这个结构体的大小为9字节。

企业的内部泄密是如何造成的?职场中,内部泄密很多大公司一直在努力加密或开发软件,权限限制等等。例如我们公司吧,是一个与美企合资企业,合资6年后美企倒闭了,但我们的影响不大,公司一直正常运营,并且在国……头条里面的摄影爱好者多不多?看头条摄影板块的热度和悟空问答里对于摄影问题的跟答量还是蛮多的。应该说在没有头条和悟空之前,我网上学习摄影知识的地方,主要是各大摄影论坛。但是自从有了头条和悟空问答,这里……鸿蒙OS2。0对比iOS14iPhone的流畅度输给了华为?近段时间,华为正式开启鸿蒙OS2。0操作系统(HarmonyOS2。0)开发者公测版本的推送(Beta3),第一批获得测试机会的机型分别有华为MateX2、Mate40系列等。……荣耀50系列三款机型曝光仅顶配搭载骁龙778G百瓦快充今日,据博主数码闲聊站消息称,本次荣耀50系列将拥有三款机型,分别为荣耀50SE、荣耀50和荣耀50Pro,三款新机均主打轻薄影像,快充66W起步。需要注意的是,该博主同……云南省科技厅副厅长高俊一行莅临显鸿科技考察调研5月27日下午17时许,云南省科技厅副厅长高俊一行六人在内蒙古科技厅副厅长张志宽、内蒙古科技厅战略规划处处长刘爽、高新处处长赵远亮等领导的陪同下,到内蒙古显鸿科技股份有限公司考……2022款讴歌MDX新车配置曝光将推性能版车型近日,从海外媒体了解到2022款AcuraMDX的具体信息,新车将率先采用新版TYPES徽章。预计明年2月2日发售,新车起始价为46900美元,约合人民币30万元左右。车……vivo蔡司影像展上海站以专业致敬专业,回忆影像故事vivo去年和蔡司联合定制了vivoX60系列的摄像头方案,从蔡司色彩到蔡司T镀膜,vivo用vivoX60系列在手机影像中掀起了一股浪潮。今日,vivo携手全球知名影像……作为网站运营,这些SEO技巧你会不会用,建议收藏SEO是什么?管用吗?怎么做?费用高吗?很多小伙伴会问到小蚁关于网站SEO的问题,小白可能觉得SEO作用不大,操作起来太麻烦,因此就不重视SEO了,这其实是错误的想法,今天我们……华为Mate50Pro概念图人月两团圆5摄,搭载鸿蒙OS依旧华为Mate50Pro的正面屏幕设计可以说是非常先进的设计理念。首先,药丸屏幕被切断。从概念渲染图中可以看出,华为Mate50Pro的整个屏幕完整,没有任何缺陷。华为Mate5……五一优惠来袭,新一代华为智慧屏V系列轻松将客厅打造为智慧中心全场景的智慧生活体验是每个人都很向往的,尤其是将家中智能家居产品全部联动起来的感受,绝对能够让生活品质提升一大截。在全场景智慧生活解决方案中,华为做的非常不错,尤其是前不……大数据入门微服务架构重要概念在大数据当中,作为核心基础的分布式,在架构层面可以说是作为主导的思想,而提到分布式,还有一个与之紧密关联的重要概念,就是微服务。之前我们也对微服务做个简单的入门介绍,今天的大数……长沙市民质疑北京东方红航天生物技术股份有限公司产品疗效日前,在长沙工作的王丽(化名)向华商报二三里资讯投诉,住在常德市石门县患有小脑萎缩的父亲,被当地一自称北京东方红航天生物技术股份有限公司(下简称东方红)经销商的欧姓经销商,在可……
第三方横评OPPOK1vivoX23华为P20谁才是真旗舰?最近滑屏手机的不断发布给手机行业带来了一阵阵的思考,到底是应该继续在屏幕上下功夫,还是在整体的手机外观下功夫?最终大家讨论的结果是:在我们需要更漂亮、显示面积更宽广的屏幕的时候……现在短视频的火爆平台是快手和抖音,做化妆品选择哪个比较好不管您运作哪个平台都有跟你类同的创作者在里面,我们如果刚开始需要借助他们的文案来进行优化是最快,我们用这款软件轻松的采集到这些内容。百度搜索固乔科技。平台目前涨粉比较火爆……都是人口大国,为什么中国满世界进口粮食,而印度却在不停出口?要么做个有声有色的大国,要么销声匿迹。印度开国总理尼赫鲁曾如此说。虽然我们不知道当年说出这话的尼赫鲁构想蓝图中的印度是什么模样的。但今天的印度,我们却能够看得到。……为什么不用网盘而是NAS?西部数据红盘(NAS盘)体验今年九月在知乎刷到一个很有趣的问题:现在网盘都那么发达了,为什么很多个人还要自建NAS?该问题下的个别评论很有趣:我在XX网盘里,存了我家孩子的照片和视频,某天2岁……教主真会玩360手机N6Pro旗舰配置1699元起怒怼友商11月28日,360手机在北京中国电影导演中心召开全面,显而易见新品发布会,正式推出旗下首款全面屏机型360手机N6Pro。360公司董事长周鸿祎出席了此次会议,共同见证新品发……重磅!海航集团将一分为四,创始人股权清零9月18日,海南省海航集团联合工作组组长、海航集团党委书记顾刚主持召开2021年度第39周安全生产经营例会提到,海航重整后将拆分为四个板块独立运营,各自回归主业健康发展。……什么是区块链?什么是区块链?区块链是一种数据库。区块链技术应用是银行及很高大上的公司,不是小商小贩。区块链服务器是由研究区块链技术的团队推出的安装好数据库应用的服务器,按协议卖给应用单……科大讯飞双料神器发布,让学习更加智慧高效随着AI技术的不断进步,生活中很多事情都被深刻改变,对于学生们了来说,如今AI学习已经成为常态,各类学习软硬件层出不穷,为学习带来了诸多便利。今天科大讯飞重磅发布了两款学习硬件……关注几乎家家都会遇到,浙江明确罚9月29日,浙江省十三届人大常委会第三十一次会议审议通过《浙江省快递业促进条例》,将于明年3月起施行。记者了解到,《条例》规定,未按运单上注明要求上门投递,或未按收件人电……聊聊RTX3060游戏本的正常价位段虽然每年的游戏本销售报告上,中国是50Ti显卡卖得最多(比如1050Ti1650Ti3050Ti),但在热度上,每年都是60显卡关注最高。(比如106020603060)……LK分享自动驾驶汽车开发注重数据合规性中国将成为重要的自动驾驶汽车市场。本文探讨了企业必须考虑的数据合规性潜在问题。车联网的迅速发展表明智能汽车是汽车行业的未来。中国的目标是到2025年部分自动驾驶汽车占新车……超豪华全明星讲师阵容助阵新HiFi营销速培会随着中国著名音乐家、指挥家侯润宇教授最终确认加盟此次新HiFi速培会,爱威影音准备了近半年的新HiFi营销速培会讲师团队组建完毕,为了让从全国各地而来的伙伴们学有所成,学以致用……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网