Structure and Union有什么区别?(转)
来源:互联网 发布:html 阿里云 视频 编辑:程序博客网 时间:2024/06/11 18:04
构造数据类型,也叫联合体
用途:使几个不同类型的变量共占一段内存(相互覆盖)
结构体是一种构造数据类型
用途:把不同类型的数据组合成一个整体-------自定义数据类型
---------------------------------------------------------------
结构体变量所占内存长度是各成员占的内存长度的总和。
共同体变量所占内存长度是各最长的成员占的内存长度。
共同体每次只能存放哪个的一种!!
共同体变量中起作用的成员是尊后一次存放的成员,
在存入新的成员后原有的成员失去了作用!
---------------------------------------------------------------
Structure 与 Union主要有以下区别:
1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在。在struct中,各成员都占有自己的内存空间,它们是同时存在的。一个struct变量的总长度等于所有成员长度之和。在Union中,所有成员不能同时占用它的内存空间,它们不能同时存在。Union变量的长度等于最长的成员的长度。
2. 对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于struct的不同成员赋值是互不影响的。
举一个例子:
例:
#include <stdio.h>
main()
{
union{ /*定义一个联合*/
int i;
struct{ /*在联合中定义一个结构*/
char first;
char second;
}half;
}number;
number.i=0x4241; /*联合成员赋值*/
printf("%c%c\n", number.half.first, number.half.second);
number.half.first='a'; /*联合中结构成员赋值*/
number.half.second='b';
printf("%x\n", number.i);
getch();
}
输出结果为:
AB
6261
- Structure and Union有什么区别?(转)
- structure union 主要区别
- Union和Union All到底有什么区别
- Union和Union All到底有什么区别
- Union和Union All到底有什么区别
- Union和Union All到底有什么区别
- C++中Structure和Class有什么区别
- 常用SQL查询语句 Oracle中Union,Union All,Intersect,Minus的有什么区别
- union和union all有什么不同
- union和union all有什么不同?
- union和union all有什么不同?
- 联合体union 有什么用?
- 在SAP中work area ,structure和internal table 有什么区别
- struct and union 的区别
- Control.Invalidate, Control.Update and Control.Refresh 有什么区别
- nginx -s stop and -s quit 有什么区别?
- 【Grammar】And 和 With有什么区别???他们又有什么用?
- Geeksquiz | Structure & Union
- 从程序员到项目经理(四):外行可以领导内行吗
- Java中取小数点后两位
- 面试中的开放性问题
- Wireshark "The NPF driver isn’t running"错误
- self.赋值时使用alloc的问题
- Structure and Union有什么区别?(转)
- iOS6 横屏项目自动旋转的问题解决 cocos2d
- smartupload图片上传
- 解读java内存优化编程的三种方法
- 几个关于字符串的C库函数,strstr,strchr
- _IO, _IOR, _IOW, _IOWR 宏的用法与解析
- Spring事务配置的五种方式
- Windows service 界面问题
- jsp 序列化取值时不能取到 select 标签如果用的是 disabled="disabled" 则拿不到select的值