代码点读机 / C / union

union C · 关键字

定义一种特殊类型,它的所有成员共享同一块内存空间,同一时间只有一个成员有效。

怎么用

union 名 { 类型 成员1; 类型 成员2; };

小例子

#include <stdio.h>
int main(void) {
    union Data { int i; float f; };
    union Data d;
    d.i = 10;
    printf("%d", d.i);
    return 0;
}

运行结果

输出 10

提醒:修改一个成员后再读另一个成员,得到的是同一块内存的重新解释,结果由实现决定

官方文档:https://en.cppreference.com/w/c/language/union

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条