简体   繁体   English

即使我在联合中使用指针,为什么联合的大小不是 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))
}

Why is the sizeof union not 8 bytes but 4 bytes even if I am using pointer in my union?即使我在联合中使用指针,为什么联合的大小不是 8 个字节而是 4 个字节?

I am using a 64 bit machine.我使用的是 64 位机器。

Its because you have compiled it as 32-bit executable.这是因为您已将其编译为 32 位可执行文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM