struct 和union的区别
来源:互联网 发布:建筑工程量计算软件 编辑:程序博客网 时间:2024/04/29 07:48
C/C++的数据类型包括基本数据类型和非基本数据类型,基本数据类型就是整型、实型等,非基本数据类型也称为构造数据类型,包括数组类型、结构体类型和共用体类型。其中结构体类型和共用体类型分别通过关键字struct和union来声明或定义。
所谓构造数据类型,就是通过基本类型构造出来的类型嘛,因此构造数据类型的特点就是其中包含有多个元素,想想数组就明白了。数组中可以存放多个元素,但是每个元素的类型都一样,而结构体和共用体就大不相同了,下面来看看。
先看看结构体struct和共用体union都是怎么定义的。
structletuknowit
{
char c;
int a;
float f;
double dbl;
};
{
char c;
int a;
float f;
double dbl;
};
unionletuknowit
{
char c;
int a;
float f;
double dbl;
};
{
char c;
int a;
float f;
double dbl;
};
我们上面分别定义了一个struct和一个union,名字都叫做letuknowit,除了关键字之外其实看不出什么区别,不过这只是表面现象,struct和union之间还是有很大差别的。
从上面的定义可以看出,struct和union都由多个不同的数据成员组成,这些成员可以是基本数据类型也可以是构造数据类型,也就是意味着struct和union的成员也可以是struct和union,这个我们以后再说,这里全部用基本数据类型。
struct和union之间的差别在于,struct中的所有数据成员是同时存在的,而union中的成员在同一时刻只能选择一个。这就好比去吃饭,餐桌就是一个struct(结构体),摆在桌子上的每一道菜是这个struct的成员,这些成员(菜)是同时存在的;而酒杯就是一个union(共用体),它的成员就是各种酒,你可以每次装不同的酒,但同一时间里面只能装一种酒(不考虑掺着喝哈)。
原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/81
- union和struct的区别
- union和struct的区别
- struct和Union的区别
- union和struct的区别
- union和struct的区别
- union和struct的区别
- union和struct的区别
- struct 和union的区别
- struct和union的区别
- struct和union的区别
- struct和union的区别
- Struct和Union的区别
- struct和union的区别
- struct和union的区别
- struct和Union的区别
- Struct和Union的区别
- Struct 和 Union区别
- union和struct区别
- AndoidTips(个人总结,持续更新)
- CentOS5安装git
- 命运在自己手中
- exe4j生成的exe文件反编译
- OCP-1Z0-052-V8.02-22题
- struct 和union的区别
- Copy List with Random Pointer 复制有随机指针的链表@LeetCode
- XML Parser(Tinyxml)的使用
- WINCE TOC解析 文章1
- Universal–Image–Loader 使用
- 2013 Asia Chengdu Regional Contest
- Error retrieving parent for item: No resource found that matches the given name
- 使用PyInstaller2将Python脚本转化为可执行文件
- Eclipse插件安装方法