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

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