有编程经验的人进来看下这个问题?
现在有下面的code
#include <stdio.h>
typedef struct
{
int a;
char b;
}DEFSTT;
void main(void)
{
DEFSTT f={12,'y'};
printf("%d\n",sizeof(f));
}
有人知道为什么结果不是5,而是8呢?
结构体的长度如何取呢??
----------------解决方案--------------------------------------------------------
没人知道??
----------------解决方案--------------------------------------------------------
我知道了,
----------------解决方案--------------------------------------------------------
自己解决
----------------解决方案--------------------------------------------------------
请说说,我并不是很清楚
----------------解决方案--------------------------------------------------------
你个大傻瓜 。。。
明明是 3 ,用脚趾头就能想出来 。。。
你怎么又 5 又 8 的呢 。。。
----------------解决方案--------------------------------------------------------
我用vc.6.0结是是8,不知为什么
----------------解决方案--------------------------------------------------------
6楼的,你编译过吗?
没有时间就没有发言权!
另外,我用的是32位的编译器,
这里面 int 是4 byte
char 1 byte
----------------解决方案--------------------------------------------------------
继续说
----------------解决方案--------------------------------------------------------
#include <stdio.h>
typedef struct
{ char c;
int a;
short b;
}DEFSTT;
typedef struct
{
int x;
char y;
short z;
}sss;
void main(void)
{
DEFSTT f;
sss h;
printf("%d\n",sizeof(f));
printf("%d\n",sizeof(h));
}
7楼的你编译一下这个,结果不一样哦~
----------------解决方案--------------------------------------------------------