电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

结构体所占内存大小(字节对齐问题)

  • 资源ID:31937086       资源大小:21KB        全文页数:2页
  • 资源格式: DOC        下载积分:5金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要5金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

结构体所占内存大小(字节对齐问题)

C语言中结构体占用内存大小的问题 2014-04-22 10:55 Deng_Ran | 分类:C/C+ | 浏览 381次 struct stOne / 结构体 1char c1;int i1;char c2;int i2;struct stTwo / 结构体 2char c1;char c2;int i1;int i2;各位大侠,上面两个结构体因为硬件的边界调整原则,占用内存大小并不相同。在我的电脑上,sizeof(struct stOne)是 16,sizeof(struct stTwo)是 12。小弟有一疑问,会不会存在一种情况:struct stOne stA, stB; / 定义两个结构体这两个结构体大小并不相同,即同一类型结构体能否占用不同内存大小?分享到: 2014-04-22 11:01 提问者采纳 你好,struct stOne stA, stB; / 定义两个结构体这两个结构体大小完全相同!追问谢谢大侠回复,小弟还有一问题请教:struct stOnechar c1;int i1;char c2;char类型变量的边界是 1,int 类型变量的边界是 4,那么,我感觉这个结构体的大小是 1 + (3) + 4 + 1 = 9,但实际上占用的内存是 12?回答是的,最后的大小就类似于一个由几根木板组成的 长方形,也许每根的长度都不一样,但是都要按照最长的那根那样存放,所以占用内存= 最长的那根 X 根数有 3个变量所以 4*3 =12其他 3条回答2014-04-22 11:03 阳顶天鹿鼎记 | 七级 不会,同一个结构体占用的内存都是一样的,stOne和 stTwo之所以不同,是因为内存对齐问题。取内存时,是按照主机系统是多少位来取的32位系统,每次取四个字节64位系统,每次取 8个字节根据你 sizeof得到的结果,你的系统是 32位的,所以每次取四个字节,而stOne char类型占用一个,而 int占用四个,所以 char类型自动占用了 4个,否则,如果 char占用一个,取得时候,去了一个 char,然后去了 int变量的前三个,这样会出问题,所以,会得到你上面 sizeof的结果stTwo,就不会因为是两个 char类型挨着的,这样两个 char类型占用四个,取得时候先取两个 char,再取 int。评论 | 3 0 2014-04-22 11:04 冰血无双 | 七级 不会不同,自己查一下 数据补齐、数据对齐,还有内存页的概念评论 | 1 0 2014-04-22 11:05 ylx2193395 | 三级 这是因为字节对齐原则,在 Linux下其是按 2字节对齐,可是在 VC+下默认是按 8字节对齐,必须满足 4的整数倍。这样有助于存储效率。第一个 char 为1字节,int 为 4字节,由于 8字节对齐原则系统会预留出 3个字节,保证 8个字节对齐。而第二个两个 char 2个字节,1 个 int4字节,系统补充 2个字节后,此时 8个字节,再加一个 Int为 12.满足条件

注意事项

本文(结构体所占内存大小(字节对齐问题))为本站会员(豆浆)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.