关于C中的 Union
来源:互联网 发布:快手娃娃姐淘宝店名字 编辑:程序博客网 时间:2024/05/23 16:55
在过去的C语言教科书中,结构体称为结构struct,共用体称为联合union。它们都是用户自定义的类型,用户可以根据自己的需要构造出各种不同的结构体或共用体类型。这两种构造类型是C语言所特有的。
结构体类型和共用体类型的数据都包含有多个不同成员,对这两种类型的数据一般是按逐个成员进行访问。对结构体类型的数据,每个成员要求分配不同的存储空间;而共用体类型的数据,则是按最大成员所需的内存空间进行分配,因为每个成员都共用相同一片内存空间。这样,就使得结构体类型的变量可以同时保存各个成员的数据,而共用体在某一时刻只能保留其中一个成员的数据。这是他们之间的根本区别。
测试如下:
struct cvMat
{
int type;
union
{
int col;
double rows;
}data;
};
void main(void)
{
cvMat mat;
mat.data.col = 2; // :这个时候使用了col
printf( "%d /n",mat.data.col );
mat.data.rows = 3.; // :now,we use rows.
printf("%f /n", mat.data.rows );
}
- 关于C中的 Union
- 关于C语言中的联合体Union问题
- 关于C++中的Union
- C语言关于union
- c中的union
- C语言中的UNION
- C语言中的union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C语言中的联合体union
- C中的struct与union
- C语言中的union用法
- C/C++中的联合 union
- 音视频编码技术与格式大全
- Javascript中Window.open参数详解
- [转载]ARCIMS安装指南
- Eclipse JDBC 驱动程序设置
- 纯js操作div移动
- 关于C中的 Union
- C# 中的委托和事件
- 最简单的行列转换(交叉表)实例
- Visual Studio 2005 中的新的 DataSet 功能
- [IE技巧] 禁止IE7的页面缩放功能
- 我所亲历的“神”迹(一)
- aspnet快速入门教程问题
- [kernel新手培训实战系列1 ] watchdog driver编写
- 我们自杀吧!(贴图)_序