我寫的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