在C中始终使用静态函数的函数原型是一个好习惯吗?

use*_*486 1 c function-prototypes

我正在看一些C语言的嵌入式固件.我注意到.c文件中使用了静态函数,但没有函数原型.始终将函数原型放在.c文件的顶部附近是一个好习惯吗?是否存在不放功能原型会更好的情况?

CIs*_*ies 5

始终将函数原型放在.c文件的顶部附近是一个好习惯

没有.如果使用多个调用相同函数的.c文件,最好在.h文件中声明该函数并包含它,而不是在每个调用该函数的新.c文件中重新声明它.

如果只使用一个文件,并且您不确定是否声明它 - 声明将使您能够定义之前调用该函数,所以我认为这是一个好习惯

是否存在不放功能原型会更好的情况?

有些时候你可以在没有原型的情况下编译,但总的来说我认为省略它们并不是更好,但我认为我不能说它真的很糟糕

  • 我认为你错过了标题中所述的静态函数问题.静态函数在其他翻译单元(http://stackoverflow.com/questions/558122/what-is-a-static-function)中不可见,因此将原型放在.c文件的顶部. (2认同)