若record变量的首地址为0xc008
免费智能真题库 >
历年试卷
>
嵌入式系统设计师
>
2019年下半年 嵌入式系统设计师 上午试卷 综合知识
第43题
知识点:
大端模式和小端模式
结构体
章/节:
嵌入式系统程序设计
某计算机存储器按字节编址,采用小端方式存放数据,假定编译器规定int型和short型长度分别为32位和16位,并且数据按双字节对齐存储。某C语言程序段如下。
若record变量的首地址为0xc008,则地址0xc008中的内容是(42), record.c的地址是(43)。
A.
OxcOOa
B.
OxcOOc
C.
OxcOOd
D.
OxcOOe
第60题
2015年下半年
38%
变量W_data定义如下:
则变量W_data所占的内存存储空间可表示为(60)。
第62题
2016年下半年
61%
以下C语言程序的输出结果是(62)。
第40题
2017年下半年
50%
下列关于C语言中结构类型的叙述中,错误的是(40)。
第23题
2018年下半年
47%
某计算机系统采用页式存储管理方案,假设其地址长度为32位,其中页号占20位,页内地址占12位。系统中页面总数与页面大小分别为(..
第42题
2016年下半年
38%
以下关于存储管理单元(MMU)的说法中,错误的是(42)。
第63题
2011年下半年
68%
某处理器按照大端方式工作,以下C语言代码执行后的输出是(63)。
知识点讲解
· 大端模式和小端模式
· 结构体
结构体
利用结构体类型可以把一个数据元素的各个不同的数据项聚合为一个整体。结构体类型的声明格式为:
例如,一个复数z=x+yi包含了实部x和虚部y两部分(x和y为实数),可以定义一个表示复数的结构体类型,并用typedef为结构体类型命名为Complex:
在该定义中,Complex是这个结构体类型的名字,re和im是结构的成员。一般情况下,对结构体变量的运算必须通过对其成员进行运算来完成,成员运算符“.”用来访问结构体变量的成员,方式为:
例如,定义结构体变量z,将-4和5分别赋值给一个复数z的实部成员变量和虚部成员变量:
z.re和z.im相当于普通的double型变量。结构体外的变量名和结构体中的成员名相同时不会发生冲突。一个结构体变量的存储空间长度不少于其所有成员所占空间长度之和。
结构体数据的空间中可能产生填充信息,因为对大多数处理器而言,访问按字或者半字对齐的数据速度更快,当定义结构体时,编译器为了性能优化,可能会将它们按照半字或字对齐。
例如,下面两个结构体变量structA和structB的成员相同但排列顺序不同,用sizeof计算其所占用存储空间的字节数,sizeof(structA)的值为8,sizeof(structB)的值为12。其存储空间中的填充处理如下图所示。
结构体变量的存储空间
题号导航 2019年下半年 嵌入式系统设计师 上午试卷 综合知识
本试卷我的完整做题情况
1
/
2
/
3
/
4
/
5
/
6
/
7
/
8
/
9
/
10
/
11
/
12
/
13
/
14
/
15
/
16
/
17
/
18
/
19
/
20
/
21
/
22
/
23
/
24
/
25
/
26
/
27
/
28
/
29
/
30
/
31
/
32
/
33
/
34
/
35
/
36
/
37
/
38
/
39
/
40
/
41
/
42
/
43
/
44
/
45
/
46
/
47
/
48
/
49
/
50
/
51
/
52
/
53
/
54
/
55
/
56
/
57
/
58
/
59
/
60
/
61
/
62
/
63
/
64
/
65
/
66
/
67
/
68
/
69
/
70
/
71
/
72
/
73
/
74
/
75
/
第43题 在手机中做本题