对于静态函数,我总是static
在源文件的开头将关键字放在函数原型的前面,而从其实现中忽略它。
所以说我有这样的事情:
#include <stdio.h>
static int foo(int bar);
int main(void) {
return foo(2);
}
int foo(int bar) {
printf("%d\n", bar);
return 0;
}
我没有技术上的理由,我只是认为所有必要的“元信息”都属于原型,并且实现代码是针对...实现的。我知道它有效,但是我想知道:
static
在原型和实现之前都声明是更好的做法,还是如上所示可以进行操作?
相同inline
。
原型应对功能进行原型化,因此它应包含实现所要做的一切。
如果您迟于将其添加到实现中,并且编译器知道了原型,那就意味着它是隐含的。
但是,为避免引起人类读者的误解,请将其添加到实现中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句