共用体

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值