免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2017年下半年 嵌入式系统设计师 上午试卷 综合知识
  第40题      
  知识点:   结构体   结构类型
  关键词:   语言        章/节:   嵌入式系统程序设计       

 
下列关于C语言中结构类型的叙述中,错误的是(40)。
 
 
  A.  结构第一个成员的地址和整个结构的地址相同
 
  B.  缺省条件下,编译器为每个成员按自然对齐(alignment)条件分配空间
 
  C.  结构成员按照它们被声明的顺序在内存中顺序存储
 
  D.  结构是一种复合数据类型,其构成元素只能是基本数据类型
 
 
 

 
  第43题    2019年下半年  
   70%
某计算机存储器按字节编址,采用小端方式存放数据,假定编译器规定int型和short型长度分别为32位和16位,并且数据按双字节对齐存..
  第60题    2015年下半年  
   38%
变量W_data定义如下:

则变量W_data所占的内存存储空间可表示为(60)。
  第65题    2020年下半年  
   74%
以下C语言程序的输出结果是(65)。
   知识点讲解    
   · 结构体    · 结构类型
 
       结构体
        利用结构体类型可以把一个数据元素的各个不同的数据项聚合为一个整体。结构体类型的声明格式为:
        
        例如,一个复数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。其存储空间中的填充处理如下图所示。
        
        结构体变量的存储空间
 
       结构类型
        在SQL-99中结构类型声明以及使用方法如下例所示。
   题号导航      2017年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第40题    在手机中做本题