读书人

c语言标准库函数名括号有关问题

发布时间: 2013-11-14 22:02:51 作者: rapoo

c语言标准库函数名括号问题
看c语言标准库的strlen函数实现的时候,发现是以下形式:
size_t (strlen)(const char *s)
{
//一些代码
}

不明白为什么strlen用括号括起来,看了下发现大部分<string.h>函数的实现函数名都有括号,不过其他很多文件里的函数函数名不一定有括号.

为什么这里strlen要有括号呢?不用括号行不行?
[解决办法]
不是必须的 完全可以不加这个括号
[解决办法]
没有啊,你看的那里的“山寨”库函数?
[解决办法]

引用:
普通函数是可以,但是我是想这里是不是有什么特殊的地方.比如是不是有可能什么防止宏展开.
不应该没什么原因吧,因为《c标准库》这本书不是所有函数名都带括号,就算可有可无,也应该保持风格一致吧.

那本书本来就写得怪怪的

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 看得那一版

读书人网 >C语言

热点推荐