开发者社区 问答 正文

struct与union相关问题

typedef union
{
    long i;
    int k[5];
    char c;
}Date;
struct data
{
    int cat;
    Date cow;
    double dog;
}animal;

在64位机器下,cout<64位机器,sizeof(long)=8 sizeof(int)=4 sizeof(double)=8
我所知道的是union中变量共享空间,struct里要字节对齐。

展开
收起
a123456678 2016-06-08 20:58:04 2082 分享 版权
1 条回答
写回答
取消 提交回答
  • 我再自己两台电脑上试验结果,第一台苹果macbookpro,64位输出如图,第二台,2013年入的hp envy4,输出20 32(这个可以理解),64位输出真的无法解释,可能跟平台和编译器相关。
    screenshot

    2019-07-17 19:32:44
    赞同 展开评论
问答地址: