在C语言中,宏定义后面的U、L、UL等符号是用来指定数据类型的。具体来说:
U表示unsigned无符号,例如100U表示这是一个无符号整数。
L表示long长整数,例如100L表示这是一个长整数。
UL表示unsigned long无符号长整数,例如100UL表示这是一个无符号长整数。
这些后缀的作用是指明数据类型。例如,单独写300000程序默认的类型是int,加上后缀UL后成了unsigned long。
举个例子:
如果我们定义一个宏变量#define NUM 5,这个数字5是以什么类型存储的呢?答案是signed int。
我们再这样定义一个宏变量#define NUM 5LL,此时的数字5又是以什么类型存储的呢?答案是signed long long。
需要注意的是,F表示float,但是F不可以和U组合,因为浮点数没有unsigned。