数据类型之共用体
来源:互联网 发布:图灵机原理 知乎 编辑:程序博客网 时间:2024/06/05 20:03
共用体
共用体是构造数据类型的一种
共用体也常被称为联合体
共用体的实质
共用体是单个存储单位上的元素集合
注意:元素都在一个存储单位上,这个存储单位的大小是最大数据类型的大小
共用体的作用
我们用共用体并不是内存空间不够用
用共用体时,主要利用”元素都存储到一个存储单位上”这一特性
共用体的组成
共用体是依靠不同的数据类型的组合创建起来的,数组的元素可以是之下的任何几种的组合
- 整型
- 浮点型
- 字符型
- 指针型
- 枚举型
- 数组
- 结构体
- 共用体
共用体的声明
/*共用体的声明不分配内存空间*/union hello{//共用体类型名为 struct hello int hello;//共用体成员名可以与共用体类型名中的第二个标识符相同 char c[100]; struct hello * p;//共用体可以包含该结构体指针,但是不可以包含该共用体 ,一般不包括指针,嗯嗯,我还没见过,就是酱紫};
共用体变量的定义
/*结构体的定义分配内存空间*/union hello hello;
共用体使用示例
/*检查大小端序*/#include <stdio.h>union hiahia{ int i; char c;} b;int main(int argc, const char *argv[]){ b.i = 1; if(b.c){ printf("this machine follows the little endian \n"); }else{ printf("this machine follows the big endian \n"); } return 0;}
/*另外,封装两个检查大小端的函数,随变找一个用*//**返回值:大端序返回1,小端序返回0*/static int IsBigEndian(void){ union hiahia{ int i; char c; } b; b.i = 1; return !b.c;}/**返回值:大端序返回1,小端序返回0*/static int IsBigEndian(void){ int i = 1; return !*(char*)&i;}
0 0
- 数据类型之共用体
- C语言数据类型之共用体
- C语言构造数据类型之结构体、共用体、枚举
- C++ 自定义数据类型:结构体,共用体,枚举
- C语言 复合数据类型(结构体 共用体 枚举)
- 复合数据类型(结构体 共用体 枚举)
- C语言程序设计教程笔记_复杂数据类型_共用体
- 共用体——经常被忽略的实用数据类型
- C语言之共用体(联合体)
- 共用体
- 共用体
- 共用体
- 共用体
- 共用体
- 共用体
- 共用体
- 共用体
- 共用体
- 健康--又到了体检的日子
- jquery文件批量上传控件Uploadify3.2(java springMVC)
- linux shell数据重定向(输入重定向与输出重定向)详细分析
- 阿里云ECS用docker创建apache2的image
- HTML 表单
- 数据类型之共用体
- bochs安装
- 【ci框架】ci框架中文件上传类及图像处理类的应用
- 朴素贝叶斯&&Python实现
- MySQL报错 Mysql Row Size too large (>8126) 和 Unknow Table Engine InnoDB 解决方案
- STL源码剖析之重载操作符
- CI框架入门示例之数据库取数据完整实现方法
- SqlServer事务语法及使用方法
- D3D11教程二十三之Fire(摇动的火)