实在不会了,这个结构体的字节长为什么会是32呢?代码已有求解释


#include
int main(){
    typedef union{
long i;
int k[5];

char c;
}DATE;
struct date{
int cat;
DATE cow;
double dog;
}too;
DATE max;

    printf ("%d\n", sizeof(struct date));
    printf ("%d\n", sizeof(struct date) +sizeof(max));

}

  • 共用体内存长度是内部最长的数据类型的长度;共用体的地址和内部各成员变量的地址都是同一个地址;
  • 结构体大小结果要为成员中最大字节的整数倍

PS:

img


如有帮助,欢迎点赞+采纳哈!