为什么 sizeof 联合不是 8 个字节而是 4 个字节,即使我在我的联合中使用指针?

Why is the sizeof union not 8 bytes but 4 bytes even if I am using pointer in my union?

union one
{
    int *ui;
    int u;
        
} yoo;

void main() 
{
    printf("%d\m", sizeof(yoo))
}

即使我在联合中使用指针,为什么 sizeof 联合不是 8 个字节而是 4 个字节?

我使用的是 64 位机器。

这是因为您已将其编译为 32 位可执行文件。