码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++结构体有效对齐值的确定

时间:2018-04-16 22:46:03      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:正确答案   解释   har   笔试题   span   color   attr   tle   ref   

看到这样一个笔试题目,如下

32位机器上定义如下结构体:
struct xx
{
    long long _x1;
    char _x2;
    int _x3;
    char _x4[2];
    static int _x5;
};
int xx::_x5;

正确答案是24。

你做对了么?下面给出解释:

结构体的有效对齐值的确定:

  1. 当未明确指定时,以结构体中最长的成员的长度为其有效值
  2. 当用#pragma pack(n)指定时,以n和结构体中最长的成员的长度中较小者为其值。
  3. 当用__attribute__ ((__packed__))指定长度时,强制按照此值为结构体的有效对齐值

 

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com

C/C++结构体有效对齐值的确定

标签:正确答案   解释   har   笔试题   span   color   attr   tle   ref   

原文地址:https://www.cnblogs.com/Amedeo/p/8855117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!