全部科目 > 嵌入式系统设计师 >
2024年上半年 上午试卷 综合知识
第 19 题
知识点 结构体  
关键词 语言  
章/节 嵌入式系统程序设计  
 
 
下列关于C语言中结构类型的叙述中,错误的是(40)。
 
  A.  结构是一种复合数据类型,其构成元素只能是基本数据类型
 
  B.  缺省条件下,编译器为每个成员按自然对齐(alignment)条件分配空间
 
  C.  结构成员按照它们被声明的顺序在内存中顺序存储
 
  D.  结构第一个成员的地址和整个结构的地址相同




 
 
相关试题     嵌入式系统程序设计 

  第60题    2009年下半年  
嵌入式软件开发过程一般包括需求分析阶段、软件设计阶段、编码阶段和集成阶段,下面不属于嵌入式软件设计阶段工作的是(60)。

  第21题    2011年下半年  
若二维数组arr[l1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arrn[i,j]该数组空间的地址为(21)。

  第63题    2013年下半年  
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。其存储空间中的填充处理如下图所示。
        
        结构体变量的存储空间



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有