博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言union关键字
阅读量:6686 次
发布时间:2019-06-25

本文共 605 字,大约阅读时间需要 2 分钟。

union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:

union StateMachine
{
   char character;
   int number;
   char *str;
   double exp;
};
一个union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,最大长度是double 型态,所以StateMachine 的空间大小就是double 数据类型的大小。
在C++里,union 的成员默认属性页为public。union 主要用来压缩空间。如果一些数据不可能在同一时间同时被用到,则可以使用union。

 

union UnionT{	int tempa;	std::string *tempb;};UnionT data;data.tempa = 1;data.tempb = new std::string("fasdf");cout << data.tempa << endl;//1886336cout << *data.tempb << endl;//fasdf

 证明是共用内存的,设置tempa = 1无效

转载于:https://www.cnblogs.com/as3lib/p/3922084.html

你可能感兴趣的文章
工作流调度
查看>>
Nginx TCP代理和负载均衡
查看>>
理解原型对象
查看>>
Apache虚拟目录
查看>>
容器是实现操作系统虚拟化的一种途径
查看>>
电脑内部声音怎么录制 Mac在线录制音频
查看>>
个人对生活意义的观点
查看>>
Editplus的配置说明:Web服务器设置和用户工具栏设置
查看>>
手机拍照翻译如何把中文翻译为英文
查看>>
文件查找和压缩
查看>>
JAVA RPC:从上手到爱不释手
查看>>
HTTP1.0、1.1、2.0的区别
查看>>
CFA报名付款方式及支付失败解决方法
查看>>
详细介绍Java中的堆、栈和常量池
查看>>
Go环境变量
查看>>
用Doxygen优化Inkpad的模块关系
查看>>
Delphi 数据类型列表
查看>>
eclipse 创建maven Web项目
查看>>
Angular之父子路由
查看>>
搜索引擎技术原理及其应用
查看>>