#include <stdio.h>

union Data {
    int i;
    float f;
    char c;
};

int main() {
    union Data d;
    printf("共用体大小：%d字节\n", sizeof(d));  // 输出4（等于float的大小）

    d.i = 100;
    printf("d.i = %d\n", d.i);  // 输出100

    d.f = 3.14f;
    printf("d.f = %.2f\n", d.f);  // 输出3.14
    printf("d.i = %d\n", d.i);    // 输出乱码（内存被覆盖）

    return 0;
}