Intel和微软同时出现的C语言面试题 M X8|;t
#pragma pack(8) ,Aai-AGG@
m uy^>2p
struct s1{ 6uT*Fg-G
short a; CS~_>bn
long b; zRou~Kxi
}; *tgu@9b
Jv+w{"&
struct s2{ g,rmGu3v
char c; se`Eez}
s1 d; J=k=cFUX
long long e; &lLfVa-l
};
\2e^x
KmTFJ,iM
#pragma pack() {:|3V 7X
ir/uHN@
问 I<ohh`.
1.sizeof(s2) = ? 5af0- hj
2.s2的s1中的a后面空了几个字节接着是b? (+[%^96
q\]X1N
dC{dw^
849,1n^
如果您知道答案请在讨论中写出,以下是部份网友的答案,供参考: >ItT269G
D2kmBZ3
网友rwxybh(行云)的答案: &UOxS W
内存布局是 _X~O6e-!
1*** 11** W>C?a=r~
1111 **** bo/9k 4N3
1111 1111 BB\GrD
jD6HCIjd'
所以答案就是24和3 o+'|j#P
YE~IO5
下面是一个测试的程序,试一试就知道了,我用的是VC2005 ~x\uZ^:
XPO-u]<