我想有我在我的.c文件中定义之前声明静态函数:函数声明中的静态关键字在函数定义中可能会丢失?
//file a.c version 1
static int foo();
...
static int foo()
{
...
}
然而,似乎我可以离开static
关键字出来的函数定义和我没有得到任何编译器警告...例如
//file a.c version 2
static int foo();
...
int foo()
{
...
}
我正确地假设这两种形式是完全一样的吗?
如果是这样,为什么这种差异是允许的,我应该使用哪种形式?
我认为他/她做运动,不写一个真正的大计划。我的意见,首先谷歌这种类型的问题,因为它是如此微不足道。 – 2011-03-10 14:51:33
非常感谢Erik和AProgrammer回答这个问题!为什么在未来的声明/定义中能够省略静态关键字是可取的 - 在我看来,这会让人感到困惑而不会增加任何好处。 – Arrakis 2011-03-10 15:24:11