C定义,nuber之后的字母L.

时间:2015-12-27 14:07:41

标签: c types

我正在读旧c代码(1991),我不明白,有一个定义如下:

#define SLEEP_MIN      (SLEEP_SEC*60L)

SLEEP_SEC定义为6060L的含义是什么?

2 个答案:

答案 0 :(得分:0)

引用C11,第6.4.4.1章,整数常量

  

语法

     

整数常数:
  十进制常数整数后缀 opt

     

整数后缀:
  unsigned-suffix long-suffix opt
  unsigned-suffix long-long-suffix
  long-suffix unsigned-suffix opt
  long-long-suffix unsigned-suffix opt

     

long-suffix:中的一个   l L

因此,60L正在使60类型为long

相关:为什么L是必需的,

  

[5]整数常量的类型是其值可以在其中的第一个相应列表   代表。

因此,如果没有L后缀,60将被视为int

答案 1 :(得分:0)

这是一个整数文字。

特别是,L代表long类型的文字 由于整数文字的类型为int by default (or not)L后缀明确表示文字属于long类型,有效地使SLEEP_MIN成为{{1} (就宏而言可以有一个类型)。