在C语言中,“short int”和“short”有什么区别?

14

short 和 short int 声明变量有什么区别?在gcc编译器中,short 占用2个字节(通过 sizeof(short) 检查),而 short int 也是占用2个字节的大小。它们是相同还是不同的?在哪些情况下这些声明会有帮助?

提前感谢。


3
没有区别。 - sashoalm
2个回答

16

shortshort int 的简写,它们在任何 C 编译器中都是等价的。

同样的,long intlong 也是等价的,long long intlong long 同理。


长整型和长整数相同。 - sashoalm
1
有人知道这背后的历史吗?为什么要包含它? - searchengine27

4

shortshort intsigned short intsigned short 都是相同的数据类型。

因此,sizeof(short) == sizeof(short int)

对于 long 也是同样的道理。


你忘记了 auto signed short int :P - David Ranieri
2
@AlterMann:auto是一种存储类别说明符,就像staticexternregister等一样。它并不指定类型。 - Dietrich Epp
@DietrichEpp,我的意思是auto signed short int x; = short x;,但这只是个玩笑... - David Ranieri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接