基于Proteus的51单片机仿真实例45及C语言共用体演示实例
发布时间
阅读量:
阅读量
1、共用体的概念
在程序开发过程中,有时需要将多种不同类型的变量存储在同一块内存区域。例如,可以将整型变量、字符型变量以及浮点型变量全部存储于同一地址起始的内存位置。
这种情况下,各类变量在内存中所占用的字节数存在差异,但它们均从相同的起始地址开始存储。这实际上采用了覆盖技术,多个变量之间相互覆盖。这种让多个不同类型的变量共享同一块内存空间的结构,被称为“共用体”结构。
通常情况下,结构体变量所占用的内存大小等于其所有成员所占字节长度之和。然而,在某一时刻仅需存储其中一个成员数据时,会浪费单片机有限的内存资源。而共用体所占用的内存空间长度则取决于其成员中字节长度最长的那个部分。这种方式显著提升了对内存资源的利用率。
2、共用体类型的定义
对于共用体类型而言,其定义方式主要有三种:
1)首先定义共用体类型,并随后定义变量名。通用格式如下:
union 共用体名称
{
成员列表;
};
完成对一个共用体类型的定义后,即可像定义普通变量那样来创建对应的共用体变量。常用格式为:
union 共用体名称 共用体变量名1, 共用体变量名2, ..., 共用体变量名n;
2)在定义共用体类型的同时直接指定对应的变量名。通用格式如下:
union 共用体名称
{
成员列表;
} 共用体变量名1, 共用体变量名2, ..., 共用体变量名n;
3)直接创建共用体变
全部评论 (0)
还没有任何评论哟~
