在#define中加入UL後綴表示無符號長×××

 經常發現一些C語言中通過#define 定義的數據中包含有UL符號,不理解爲什麼,把他去掉髮現也沒有什麼區別。

現在才明白UL是標記該宏長整型 十進制 數據,而不是字符,也不是int型數據。
C語言中默認宏中的數字是整型數據。
如下面的例子:
#define LENGTH (20UL*1024*1024)
你要輸出他的話就要這樣:
printf(“LENGTH is %ld\n”,LENGTH);

 

#define SECOND_PER_YEAR (60*60*24*365)UL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章