C语言里面100UL是什么意思

就是 数字100 一百.

U 表示 unsigned ——无符号.
L 表示 long—— 长整数.

后缀大小写都可以, 可以单独使用(100U), 也可以组合使用(100UL)

除了这两个之外, 还有一个后缀是F, 表示float, 但是F不可以和U组合, 因为浮点数没有unsigned

这些后缀的作用是指明数据类型.
因为单独写100程序默认的类型是 int, 加上后缀就变成了unsigned long
同样的 1.5这样浮点数, 默认类型是double(双精度浮点数), 加上f指明为float(单精度).

指明类型通常用在函数参数匹配上, 尤其是多个重载的时候.

比如说两个函数.
void fun(int);
void fun(float);

你这样调用 fun(0.5);
你可能觉得应该调用后面那个函数, 因为0.5是个浮点数而不是整数.

但实际上这个调用在语法标准上是有歧义的.
因为0.5默认是double类型, 而double转换为int和float的优先级是一样!
所以加上后缀f, 像fun(0.5F), 这样就指明调用第二个函数. 避免导致歧义.
 
 
----对此表示怀疑,能在一个文件中,定义两个名称一样的函数?

试了一下,答案是不行的,会报错(软件是MDK-ARM Professional Version:5.11.0.0)

error:  #247: function "某某某" has already been defined

猜你喜欢

转载自blog.csdn.net/qq_35629563/article/details/80897318