若record变量的首地址为0xc008
免费智能真题库 >
历年试卷
>
嵌入式系统设计师
>
2019年下半年 嵌入式系统设计师 上午试卷 综合知识
第43题
知识点:
大端模式和小端模式
结构体
章/节:
嵌入式系统程序设计
某计算机存储器按字节编址,采用小端方式存放数据,假定编译器规定int型和short型长度分别为32位和16位,并且数据按双字节对齐存储。某C语言程序段如下。

若record变量的首地址为0xc008,则地址0xc008中的内容是(42), record.c的地址是(43)。
A.
OxcOOa
B.
OxcOOc
C.
OxcOOd
D.
OxcOOe
第22题
2009年下半年
52%
操作系统是裸机上的第一层软件,其他系统软件(如(22)等和应用软件都是建立在操作系统基础上的。下图①②③分别表示(23)。
第38题
2025年上半年
0%
编译并执行下面一段C语言后,其结果为(39)。
第19题
2024年上半年
0%
下列关于C语言中结构类型的叙述中,错误的是(40)。
知识点讲解
· 大端模式和小端模式
· 结构体
结构体
利用结构体类型可以把一个数据元素的各个不同的数据项聚合为一个整体。结构体类型的声明格式为:
例如,一个复数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题 在手机中做本题
![]()


![]()