冷雾,罗时辉,蜜糖城
看到这样一个笔试题目,如下
struct xx { long long _x1; char _x2; int _x3; char _x4[2]; static int _x5; }; int xx::_x5;
正确答案是24。
你做对了么?下面给出解释:
结构体的有效对齐值的确定:
- 当未明确指定时,以结构体中最长的成员的长度为其有效值
- 当用#pragma pack(n)指定时,以n和结构体中最长的成员的长度中较小者为其值。
- 当用__attribute__ ((__packed__))指定长度时,强制按照此值为结构体的有效对齐值
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论