c语言标准库函数名括号有关问题
c语言标准库函数名括号问题
看c语言标准库的strlen函数实现的时候,发现是以下形式:
size_t (strlen)(const char *s)
{
//一些代码
}
不明白为什么strlen用括号括起来,看了下发现大部分<string.h>函数的实现函数名都有括号,不过其他很多文件里的函数函数名不一定有括号.
为什么这里strlen要有括号呢?不用括号行不行?
------解决方案--------------------
不是必须的 完全可以不加这个括号
------解决方案--------------------
没有啊,你看的那里的“山寨”库函数?
------解决方案--------------------
那本书本来就写得怪怪的
像
return 表达式;
完全没有必要加 ()
里面经常加 实在多余
------解决方案--------------------
vs2010
C Standard Library.pdf
The C programming Language
lz 看得那一版
看c语言标准库的strlen函数实现的时候,发现是以下形式:
size_t (strlen)(const char *s)
{
//一些代码
}
不明白为什么strlen用括号括起来,看了下发现大部分<string.h>函数的实现函数名都有括号,不过其他很多文件里的函数函数名不一定有括号.
为什么这里strlen要有括号呢?不用括号行不行?
------解决方案--------------------
不是必须的 完全可以不加这个括号
------解决方案--------------------
没有啊,你看的那里的“山寨”库函数?
------解决方案--------------------
那本书本来就写得怪怪的
像
return 表达式;
完全没有必要加 ()
里面经常加 实在多余
------解决方案--------------------
_Check_return_ size_t __cdecl strlen(_In_z_ const char * _Str);
vs2010
#include <string.h>
size-t strlen(conat char *a);
C Standard Library.pdf
size_t strlen(cs) return length of cs
The C programming Language
lz 看得那一版