C-联合体

发布时间 2023-04-10 20:57:47作者: Khrushchefox

联合体

联合体中的变量共用同一个空间

创建和使用

#include <stdio.h>

union Object
{
    int a;
    char b;
    float c;
};

int main()
{
    union Object object;
    object.a = 65;
    printf("%c", object.b);  // 'A'
    return 0;
}

内存大小

printf("%llu", sizeof(union Object));  // 4

计算规则:

  1. 联合体中最大成员所占内存的大小
  2. 必须为最大类型所占字节的最小倍数