C++内存对齐问题。。。。出现了意想不到的结果

jk2niya 2012-11-09 11:03:07
#include <stdio.h>

typedef union{
long i;
int k[5];
char c;
}DATE;

struct data
{
char c;
int cat;
DATE cow;
double dog;
}too2;

struct data1
{
char c;
int cat;
double dog;
}too;

void main(){

DATE max;
printf("%d\n",sizeof(max));
printf("%d\n",sizeof(too));
printf("%d\n",sizeof(too3));
printf("%d",sizeof(too2));

}
结果是:
20
16
32
40
难道too3 中的 char c占8个字节?????
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggddver 2012-11-10
  • 打赏
  • 举报
回复
没有too3....而且居然到现在还能见到void main的写法......
Code_Talk 2012-11-10
  • 打赏
  • 举报
回复
引用 1 楼 YouNeverCanTell 的回复:
where is too3?
?
YouNeverCanTell 2012-11-09
  • 打赏
  • 举报
回复
where is too3?

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧