荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: wwwflycn (凡高.自杀), 信区: Program
标 题: Re: 再看
发信站: 荔园晨风BBS站 (Tue Nov 12 18:58:12 2002), 站内信件
个人认为这说法还值得商榷:
struct T{
char i;
double k;
};
sizeof(T) == 16 //若是楼上得说法应该为12
我猜想应以结构内的字长最大的类型为分配单位
struct T2{
char i[9];
double k;
}
sizeof(T2) 果然为 24
但: struct T2{
char j;
T b;
};
sizeof(T2) == 24
这种理解好像有点牵强.
【 在 Liulang (铁了心的爱你) 的大作中提到: 】
: 空间和编译器位数有关,32位的编译器一次申请空间最小单位为32位,也就是
: 4个字节,16位编译器是2个字节.相同的类型可以拼凑在一起.
: 如果你申请单个char,也是申请4个字节的空间.
: 但是到了结构里面,空间是连续的,所以你申请的两个char后面浪费了2个字节
: 的空间,你删除一个char或者添加两个char,结果都是8
: 【 在 xdavid (Light My Life) 的大作中提到: 】
: : tc下为4,vc下为8,看来是struct根据编译器的不同占不同的空间。
: : 好玩的是,当在vc下注释掉char和int后,size就为1了。这个不太明白。
--
沉默着...
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.40]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店