[英]difference between unsigned short int and unsigned short
unsigned short int和c中的unsigned short decleration之间是否存在差异?如果是,请问它是什么? 我尝试在线查找,但找不到任何有价值的东西。
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
。
两者没有区别。
第二个被认为是一个int,只是省略了。
他们是同义词。 如果你的编译器做了与它们不同的事情,它就会被打破。
没有区别。 试试sizeof
运算符:
main()
{
unsigned short int x1;
unsigned short x2;
printf("%d/%d\n", sizeof x1, sizeof x2);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.