f
在 C 标准库函数的名称中代表什么?我注意到很多函数的名称中都有一个 f
,这对我来说真的没有意义。
例如:fgets
、fopen
、printf
、scanf
、sqrtf
等等。
最佳答案
你的问题笼统地说太笼统了,但我可以解释几个例子。
-
<b>f</b>gets
,<b>f</b>open
,<b>f</b>close
, … — “f”代表"file"。这些函数接受或返回FILE *
指针而不是像 POSIX 函数那样的文件号。 -
print<b>f</b>
,scan<b>f</b>
, … — “f”代表“已格式化”。这些函数接受格式字符串。 -
<b>f</b>print<b>f</b>
,<b>f</b>scan<b>f</b>
— 这是上述两者的结合。 -
sin<b>f</b>
,cos<b>f</b>
, … — “f”代表float
(以区别于double
选项)。请注意,这非常适合带有f
的后缀浮点文字。如1.5f
. - 最后,作为重复数据删除器 points out , 有一些名字比如
free
,floor
或setbuf
(“设置缓冲区”),其中“f”只是作为自然语言字符出现。
用单个字母表示参数类型的前缀或后缀名称的传统在 C 中是必需的,但由于重载而在 C++ 中已过时。实际上,C++ 中的重载由编译器自动通过名为 name mangling 的进程自动将这些后缀再次添加到生成的符号中。 .
关于c - C标准库函数名中的 "f"代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27949512/