为什么16位系统下short int和int所占字节数是一样的2个字节,而在

主要搞不清,为什么会出现整型和长短整型所占字节数一样的情况... 主要搞不清,为什么会出现整型和长 短 整型所占字节数一样的情况 展开
 我来答
lionkind117
推荐于2018-03-29 · TA获得超过1075个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:185万
展开全部
在32位机上,int通常是32位;在16位机上,int通常是16位(由编译器决定,而编译器通常是根据代码运行的目标机来决定)。 long int在上述两种机器上通常都是32位。

所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。

TC里面 int 就是 2个字节,而VC++里面就是4个字节,gcc里面也是4个字节。

还有long long int 在TC里面是 4 个字节,gcc里面是 8 个字节。
王爱飞waffaw
2011-10-07 · TA获得超过317个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:218万
展开全部
int的定义一般就是机器字长 16位机器自然是2个字节啦short int 一般的定义就是2字节长所以在16位机器上它们占用的空间恰好一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式