是否需要L和LL整数后缀?

时间:2016-08-10 11:12:13

标签: c integer long-integer c99 unsigned-long-long-int

来自the standard draft N1256,第6.4.4.1节,第5条:

  

整数常量的类型是相应列表中可以表示其值的第一个。

从表中可以看出,没有后缀的八进制和十六进制常量将被赋予任何标准整数类型(signed / unsignedint / {{1的最小合适组合}} / long int)。对于十进制常量,默认情况下仅考虑long long int类型。

为什么signed / u存在是有道理的;有符号的溢出行为最好与无符号溢出行为不同,UB最坏,所以我想可能有必要在复杂的表达式中指定文字的无符号性。

这为我们留下了U / Ll / LL后缀。它们只能用于选择整数文字类型的下限。在C99中有什么实际意义?

0 个答案:

没有答案