范文无忧网面试笔试笔试回答

一道计算机笔试题

11月28日 编辑 fanwen51.com

[经典面试题的回答技巧]无论是企业的招聘选拔还是应聘者,对面试的问题,一个是问,一个是答;如何能够从面试题的问与答中,判别出应聘者的个人素养、心理倾向和工作意愿呢?下面我们来看看求职者是如何回答者...+阅读

#pragma pack(8)

struct s1

{

short a;

long b;

};

struct s2

{

char c;

s1 d;

long long e;

};

#pragma pack()

问:

1.sizeof(s2) = ?

2.s2的c后面空了几个字节接着是d?

答案:

sizeof(S2)结果为24.

成员对齐有一个重要的条件,即每个成员分别对齐.即每个成员按自己的方式对齐.

也就是说上面虽然指定了按8字节对齐,但并不是所有的成员都是以8字节对齐.其对齐的规则是,每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数(这里是8字节)中较小的一个对齐.并且结构的长度必须为所用过的所有对齐参数的整数倍,不够就补空字节.

S1中,成员a是1字节默认按1字节对齐,指定对齐参数为8,这两个值中取1,a按1字节对齐;成员b是4个字节,默认是按4字节对齐,这时就按4字节对齐,所以sizeof(S1)应该为8;

S2中,c和S1中的a一样,按1字节对齐,而d 是个结构,它是8个字节,它按什么对齐呢?对于结构来说,它的默认对齐方式就是它的所有成员使用的对齐参数中最大的一个,S1的就是4.所以,成员d就是按4字节对齐.成员e是8个字节,它是默认按8字节对齐,和指定的一样,所以它对到8字节的边界上,这时,已经使用了12个字节了,所以又添加了4个字节的空,从第16个字节开始放置成员e.这时,长度为24,已经可以被8(成员e按8字节对齐)整除.这样,一共使用了24个字节.

a b

S1的内存布局:11**,1111,

c S1.a S1.b d

S2的内存布局:1***,11**,1111,****11111111

这里有三点很重要:

1.每个成员分别按自己的方式对齐,并能最小化长度

2.复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,可以最小化长度

3.对齐后的长度必须是成员中最大的对齐参数的整数倍,这样在处理数组时可以保证每一项都边界对齐

补充一下,对于数组,比如:

char a[3];这种,它的对齐方式和分别写3个char是一样的.也就是说它还是按1个字节对齐.

如果写: typedef char Array3[3];

Array3这种类型的对齐方式还是按1个字节对齐,而不是按它的长度.

不论类型是什么,对齐的边界一定是1,2,4,8,16,32,64....中的一个.

延伸阅读:

证券业务营销笔试题证券业务营销类笔试题精选,仅供大家练习。 1.全面营销就是将产品、技术、管理、销售、服务等公司经营的各个方面都视为营销的一个环节,由这些环节构成一个为满足客户的需要服务...

发散思维类面试题发散思维类的面试题目怎么回答比较好呢? 发散思维又称辐射思维、放射思维、多向思维、扩散思维或求异思维,是指从一个目标出发,沿着各种不同的途径去思考。发散思维是创造性思...

软件测试英文面试题求职者在参加英语面试时需要好好准备一下,下面我们来看看有关英文面试会问到的一些题目。1.要有一份高质量的自我介绍2.同时面试的人员,对你以前的测试工作经历会比较感兴趣,会...

2012年苏果面试题1.这个职务需要出差,你能适应吗? (可以,没问题) 2.苏果面试题:在纸上写了武汉二字,让我指出武汉周边其他城市所处位置?(瞎蒙,都错了) 3.为何辞职? 4.苏果面试题:如果公司派你去一个城...

结束面试的完美面试题在面试结束前,大多数的主考官都会丢问题给求职者,最常见的就是:你有没有什么问题或疑问,想要提出来的?无论求职者是否有提出问题,其实,这个问题背后的真正含意,通常是主考官用来测试...

2011年质检员笔试题以下是2011年质检员笔试题目,现分享给大家练习练习。一章 概述 1、国家验收标准:一个标准、16个规范(P9+建筑节能验收规范) 2、省验收及控制标准:住宅工程控制标准、建筑节能验收...

税法类笔试题以下分享是笔试题目是与税法有关的,大家敬请阅读: 税法类: 不能转嫁的税的类型 矿石进口需缴税(关税,增值税) 增值税一般纳税人符合的条件 对于纳税人的要求(在中国境内有住所或者...

活学活用的8个经典面试题面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的猫腻至关重要。本文对面试中经常出现的一些典型问题...

6道经典英文面试题6道经典英文面试题 First One: Work experience work experience is the type of work youve done in the past. If you hent started working yet you can say Right now I...

推荐阅读
图文推荐
栏目列表