A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 洪吉童 中级黑马   /  2015-10-2 22:29  /  1194 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

视频中那个结构体内存对齐的例子,这个结构体的大小是24,我是这么理解的:

  1. struct A{
  2.         short a;  //偏移为0,占2(自身大小)+2(填充大小)=4字节
  3.         float b;  //偏移为4,是4的整数倍,占4(自身大小)字节
  4.         char c;   //偏移为8,是1的整数倍,占1(自身大小)+7(填充大小)=8字节
  5.         double d; //偏移为16,是8的整数倍,占8(自身大小)字节

  6. };
复制代码


所以sizeof(A)=4+4+8+8=24;

7 个回复

倒序浏览
遵循那两个条件即可,建议找老师或者技术较高的人问问此种理解方式是否正确,不然会酿成大错的。
回复 使用道具 举报
??????????????????
回复 使用道具 举报
lvguodong 发表于 2015-10-2 23:57
遵循那两个条件即可,建议找老师或者技术较高的人问问此种理解方式是否正确,不然会酿成大错的。 ...

我已经查过,也验证过,应该没有问题
回复 使用道具 举报
这个里解释正确的,如果把char放到float前面d话就是16个
回复 使用道具 举报
A侠 发表于 2015-10-3 00:37
??????????????????

http://blog.csdn.net/hongjitong2/article/details/48864093这个我写了博客
回复 使用道具 举报
lvguodong 发表于 2015-10-2 23:57
遵循那两个条件即可,建议找老师或者技术较高的人问问此种理解方式是否正确,不然会酿成大错的。 ...

http://blog.csdn.net/hongjitong2/article/details/48864093我写了博客,请指教
回复 使用道具 举报
16个字节吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马