共用体

简介: 1,共用体概念 使几个不同的变量占用同一段内存空间的的结构称为共用体, 共用类型的定义与结构体类型的定义一样 union 共用体名 { 数据类型 成员列表; }; 共用类型变量的定义与结构体变量定义也一样; 分之间定义与间接定义2种; 定义类型的同时定义变量,也可以先定...

1,共用体概念

使几个不同的变量占用同一段内存空间的的结构称为共用体,
共用类型的定义与结构体类型的定义一样
union 共用体名
{
  数据类型 成员列表;
};
共用类型变量的定义与结构体变量定义也一样;
分之间定义与间接定义2种;

定义类型的同时定义变量,也可以先定义类型再定义变量;

union [data]
{
  int i;
  char ch;
  float f;
} un1,un2,un3;

共用变量占用的内存空间,等于最长成员的长度,而不是各个成员长度之和;

列如上面的共用体un1,un2,un3,在16位系统占用的内存空间为4个字节是最大的数据类型占用

3,共用体类型特点

1,共用体类型中,系统采用覆盖技术,实现共用变量各成员的内存共享,介于此,在某一时刻存放的和起作用的是最后一次存入的成员值.
由于所有成员共享同一内存空间,共用变量与各成员的地址相同.

共用体变量与结构体变量间区别
结构体类型变量所占内存长度是各成员所占内存长度和,
共用体类型变量,所占内存长度等于最长的成员长度.

4,枚举型

枚举类型定义
enum 枚举类型名 {取值列表};
列如:enum weekdays {星期一,星期二,星期三,星期四,星期五,星期六,星期天};
枚举型仅适应于取值有限的数据

typedef 别名类型申明,类似于linux命令alias;

C语言用typedef给系统数据类型定义别名
用以给已有数据类型定义新的别名,已有数据类型是指由系统提供的标志数据类型,或是自定义的数据类型,

typedef使用说明

http://netkiller-github-com.iteye.com/blog/1972504

 

目录
相关文章
|
5月前
|
存储 C语言
什么是共用体类型
什么是共用体类型
47 0
|
12月前
|
存储 程序员 C语言
结构体,联合体与位段
结构体,联合体与位段
52 0
|
2月前
|
存储 安全 C语言
结构体与联合体
结构体与联合体
19 0
|
5月前
|
存储 C语言
c共用体
c共用体
34 1
|
5月前
|
存储 安全 编译器
共用体类型
共用体类型
38 1
|
5月前
|
存储 C语言
共用体
共用体
58 0
|
5月前
|
机器学习/深度学习 C语言
结构体与共用体2
结构体与共用体2
29 0
|
5月前
结构体与共用体3
结构体与共用体3
25 0
|
5月前
|
存储
联合体和结构体对齐
联合体和结构体对齐
|
11月前
|
编译器
自定义类型联合体(上)
自定义类型联合体
38 0
自定义类型联合体(上)