Intel和微软同时出现的C语言面试题 9j:?s;B
#pragma pack(8) S=krF yFw
exTpy
struct s1{ eO(VSjo'`
short a;
@5acTYQ
long b; + To{Tm-
}; Z\(+awv
D
gY2:&0
struct s2{ ~6kEpa
char c; R7ZxS
s1 d; !(uyqplTk
long long e;
,Ztj
}; ["MF-tQ5
{{SQL)yJ
#pragma pack() G0CmY43
,U],Wu)
问 PM7*@~.
1.sizeof(s2) = ? HR\yJt
2.s2的s1中的a后面空了几个字节接着是b? < I8hy$+6
{/XzIOO;b
.FqbX5\p,
!wJ~p:vRdY
如果您知道答案请在讨论中写出,以下是部份网友的答案,供参考: 2[r#y1ro
k
U*\Fa*E
网友rwxybh(行云)的答案: 1W$ @ V!
内存布局是 8!b#ez
1*** 11** 8g(%6 ET
1111 **** ~BrERUk
1111 1111 c/x ^I{b*
TN.mNl%
所以答案就是24和3 tP"C>#LO
zK k;&y|{
下面是一个测试的程序,试一试就知道了,我用的是VC2005 k~`pV/6
`L]cJ0tAs
#pragma pack(8) B3c
rms['
Cb x/
struct s1{ r*&gd