Intel和微软同时出现的C语言面试题 6m{$rBR
#pragma pack(8) zWmo
OnK
w`#0
Y9O
struct s1{ m/F(h-?
short a; Zz)oMw
long b; \I,Dje/:w
}; NX{-D}1X=
}Mb'tGW
struct s2{ Hj4w
i|
char c; x+:,b~Skk
s1 d; hq8/`u
YF
long long e; zUUxxS_?
}; _~S^#ut+
zju,#%
#pragma pack() "MS`d+rf\
a9EI7pnq
问 *~<]|H5~
1.sizeof(s2) = ? 7@y!R
2.s2的s1中的a后面空了几个字节接着是b? FiU;>t<)
wyzBkRg.
iJKm27 ">
zm3MOH^a
如果您知道答案请在讨论中写出,以下是部份网友的答案,供参考: ~lalc ^
<,cIc]eX
网友rwxybh(行云)的答案: cA*X$j6
内存布局是 q(PT'z
1*** 11** 7F9g:r/^
1111 **** ie)1 h
1111 1111 i!}nGJGg
u*-<5&X
所以答案就是24和3 ;!Z7-OZX
rNzhP*Fw
下面是一个测试的程序,试一试就知道了,我用的是VC2005 s)DNLx
`J,~hK
#pragma pack(8) /'=^^%&:B