C零散知识点汇总之union关键字

简介: C零散知识点汇总之union关键字

C零散知识点汇总之union关键字


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

union StateMachine {
    char character;
    int num;
    char *str;
    double exp; 
}

一个union只分配一个足够大的空间来容纳最大长度的数据成员,以上例子而言,最大长度是double形态,所以StateMachine的空间大小就是double数据类型的大小。

大小端模式对于union类型数据的影响:

如何判断大小端请参考博客《大端和小端模式》。

union类型的数据所占空间等于或大于其最大的空间所占的空间。对于union类型的成员都从相对于该联合体基地址的偏移量为0处开始,也就是联合体的访问不乱对哪一个变量的读取都是从union的首地址开始的。

相关文章
|
6月前
|
存储 Java
Java基础语法探究:从数据类型到控制结构
Java基础语法探究:从数据类型到控制结构
47 0
|
6月前
R语言表与因子(详细知识点,深入知识点后续会补充!)
R语言表与因子(详细知识点,深入知识点后续会补充!)
47 2
|
6月前
|
自然语言处理 关系型数据库 MySQL
一文明白MySQL索引的用法及好处
一文明白MySQL索引的用法及好处
77 0
|
SQL 数据挖掘 测试技术
|
编译器 C语言
C零散知识点汇总之struct关键字
C零散知识点汇总之struct关键字
|
编译器
C零散知识点汇总之volatile关键字
C零散知识点汇总之volatile关键字
|
存储 编译器 C语言
C/C++零散知识点汇总之变量
C/C++零散知识点汇总之变量