标题:sizeof的疑难
只看楼主
chenyangping
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-4
 问题点数:0 回复次数:13 
sizeof的疑难

#include <iostream.h>

struct A
{};

void main()
{
cout<<"sizeof(A)="<<sizeof(A)<<endl;
}


输入结果:sizeof(A)=1

搜索更多相关主题的帖子: sizeof 疑难 
2007-07-04 11:03
chenyangping
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-4
得分:0 
为什么结果不是0???
2007-07-04 11:04
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
应该结构体也需要占用一定空间吧

2007-07-04 12:51
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
他要为结构体开辟空间,没有开辟一块0字节空间的说法,所以就给他一个字节了。。

天行健,君子以自强不息!!QQ:68660681
2007-07-04 12:53
chenyangping
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-4
得分:0 
上面的回答太牵强了。能分一个字节,那为什么不是4个字节呢?!有没有说服性强的理由啊!
2007-07-05 17:00
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
能分一个字节,为什么要分4个字节呢?为一个空的结构体都分4个字节,但是为一个只有一个字符变量的结构体才分配一个字节,那岂不很不公平?

天行健,君子以自强不息!!QQ:68660681
2007-07-05 18:42
chenyangping
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-4
得分:0 
那你就说说干嘛要分一个字节吧!题外的理由说得不错,但是还是不能最终解决问题.
2007-07-07 16:38
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 

虽然是空的但是是一个完完整整的结构体,他定义了他的变量,就不可能不给他空间,为什么要给一个字节,这可以说成是一种默认的规定吧。。


天行健,君子以自强不息!!QQ:68660681
2007-07-07 17:19
chenyangping
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-4
得分:0 

你看你,又用到“默认的规定”这样的词了。你能不能从编译器或者从C++语言,这种层面来考虑和解释一下呢?

2007-07-07 17:26
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 

那你给我解释为什么整数多用4个字节表示?为什么我不用6个字节呢?


天行健,君子以自强不息!!QQ:68660681
2007-07-07 17:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-152595-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179824 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved