我写的C代码像一些古老的记忆:在恶劣的旧的Win16天在C++声明较长的文字时,需要长期的后缀和无符号后缀?
long value = 0;
与value
是只有一半的初始化结束了:即低16位分别为0
高端16位分别为无论随机位在内存中的哪个位置。因此,我变得有条件地写:
long value = 0L;
这仍然需要在C99和/或C++这个日龄和年龄?我知道ILP32指定int
和long
都是32位的,但假设我们使用,也就是说,LP64其中int
s为32位和long
s为64位。是必需的后缀或将C和C的现代形式++文字含蓄地延伸到他们被赋予变量的长度?
如何无符号值?即这是必需的吗?
unsigned long value = 0UL;
可能重复[为长值显式声明L或UL的原因是什么](https://stackoverflow.com/questions/13134956/what-is-the-reason-for-explicitly-declaring-l-或ul-for-long-values) – 2017-12-06 16:14:06