在c中unsigned short int和unsigned short decleration之间是否有区别,如果是这样,请问它是什么?我试着在网上寻找,但找不到任何有价值的东西。unsigned short int和unsigned short之间的区别
unsigned short int x1;
unsigned short x2;
最后,如果有差异,我该怎么把它们分别给彼此?
在c中unsigned short int和unsigned short decleration之间是否有区别,如果是这样,请问它是什么?我试着在网上寻找,但找不到任何有价值的东西。unsigned short int和unsigned short之间的区别
unsigned short int x1;
unsigned short x2;
最后,如果有差异,我该怎么把它们分别给彼此?
从C11 [PDF](不相关部分省略)(重点煤矿):
6.7.2.2:
至少一个类型说明应在声明指定在每个声明, 并且在给予每个结构声明和类型名称中的说明符限定符列表。 类型说明符的每个列表应该是以下多个集合中的一个(用逗号分隔,当 每个项目有多个多集时);类型说明符可能以任何顺序出现,可能与其他声明说明符混合使用 。
- ...
short
,signed short
,short int
,或者signed short int
unsigned short
,或unsigned short int
- ...
6.7.2.5:
每个逗号分隔的多集的指定相同类型 ...
只需使用short
是一种简短的(无双关语意图的)写作方式short int
。只需long
就是long int
的简称。
它们是同义词。如果你的编译器做了与他们不同的事情,那就是坏了。
没有区别。试试sizeof
运营商:
main()
{
unsigned short int x1;
unsigned short x2;
printf("%d/%d\n", sizeof x1, sizeof x2);
}
两者没有差异。
第二个被认为是一个int并且简单地被省略。
没有区别。 – Daniel 2013-04-29 16:31:26