科技时代新浪首页 > 科技时代 > 软件 > 正文

面对大型程序:C/C+语言struct深层探索(2)


http://www.sina.com.cn 2005年08月12日 18:42 太平洋电脑网

  文/宋宝华

    2. struct的成员对齐

  Intel、微软等公司曾经出过一道类似的面试题:

1. #include <iostream.h>

2. #pragma pack(8)
3. struct example1
4. {
5. short
a;
6. long b;
7. };

8. struct example2
9. {
10. char c;
11. example1 struct1;
 12. short e;   
13. };
14. #pragma pack()

15. int main(int argc, char* argv[])
16. {
 17. example2 struct2;

18. cout << sizeof(example1) << endl;
19. cout << sizeof(example2) << endl;
20. cout << (unsigned int)(&struct2.struct1) - (unsigned int)(&struct2)
<< endl;

21. return 0;
22. }

  问程序的输入结果是什么?

  答案是:

8
16
4

  不明白?还是不明白?下面一一道来:

[上一页] [1] [2] [3] [4] [5] [下一页]



评论】【应用软件】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭

爱问 iAsk.com



科技时代意见反馈留言板 电话:010-82628888-5828   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2005 SINA Inc. All Rights Reserved

版权所有 新浪网