Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1574994
  • 博文数量: 399
  • 博客积分: 8508
  • 博客等级: 中将
  • 技术积分: 5302
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 09:28
个人简介

能力强的人善于解决问题,有智慧的人善于绕过问题。 区别很微妙,小心谨慎做后者。

文章分类

全部博文(399)

文章存档

2018年(3)

2017年(1)

2016年(1)

2015年(69)

2013年(14)

2012年(17)

2011年(12)

2010年(189)

2009年(93)

分类: LINUX

2010-11-22 21:27:06

前一段时间去一家小公司面试,面试官居然一个毛头小子,估计刚刚毕业三四年。而我已经而立之年,工作快8年了。


他给出这样一道题目:
//==============================
32位系统下,有如下定义:
typedef struct _AAA

  char b; 
  double a; 
  char c; 
}AAA; 

问:sizeof(AAA)的值为多少。
//==============================

题外话:
这种题目,至少八成的软件公司面试题里都会出现,对此感到很奇怪。我知道他们是想考察对“内存对齐”的理解。但是做一般的程序根本不必理会这些东西;有多少程序需要自己去考虑内存对齐问题呢?真的这样去做只怕弄巧成拙!因此这种题目实际意义不大。

另外,通过#pragma pack(n) 这样的命令是可以改变对齐情况的。受此影响sizeof(AAA)的值也会发生改变。在毫无说明的情况下,直接问sizeof(AAA)的值为多少,岂不荒谬?因此这种题目没有上下文的情况下,是无法回答的。


话说回来。
我想应该是默认情况下的,于是回答是16.


那个
阅读(1274) | 评论(1) | 转发(0) |
0

上一篇:20条编程经验

下一篇:linuxjournal

给主人留下些什么吧!~~

zyf89859572015-06-07 21:12:16

呵呵,大神