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

主要搞不清,为什么会出现整型和长 短 整型所占字节数一样的情况

在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 个字节。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-07
int的定义一般就是机器字长 16位机器自然是2个字节啦short int 一般的定义就是2字节长所以在16位机器上它们占用的空间恰好一样
相似回答