请问为什么计算结构体的大小的时候多了4字节???
代码如下:
struct test
{
char b[20];
double c[10];
};
main()
{
void *ptr=calloc(sizeof(struct test),10);
return 0;
}
结果在sizeof(struct test)这里得到的大小是104
如果把上面的结构体换成
{
char b[20];
int a[10];
};
得到的结果是60。
请问用double型的时候为什么会多出4的大小呢????而int型又没多出?
XP下,VC6.0 DEBUG模式
[解决办法]
楼主记得给分啊。好不容易碰上一次会的。
[解决办法]
{
char b[20];
int a[10];
};
int 是 4字节的,
对齐到 4
100 对齐到4 还是100
[解决办法]
虫子又来抢分了。。。。。。
[解决办法]
mark
struct test
{
double c[10];
char b[20];
};
这样就 100 啦 ?
[解决办法]
最近怎么关于数据对齐的问题这么多啊
先用offsetof看看