我正在看一些C语言的嵌入式固件。我注意到.c文件中使用了静态函数,但没有函数原型。 始终将函数原型放在.c文件顶部附近是一种好习惯吗?是否存在不放功能原型会更好的情况?
答案 0 :(得分:5)
始终将函数原型放在.c文件顶部附近是一个好习惯
没有。如果使用多个调用相同函数的.c文件,最好在.h文件中声明该函数并包含它,而不是在每个调用函数的新.c文件中重新声明它
如果只使用一个文件,并且您不确定是否声明它 - 声明将使您能够在定义之前调用函数,所以我认为这是一个好习惯
是否存在不放功能原型会更好的情况?
有些时候你可以在没有原型的情况下进行编译,但总的来说我认为省略它们并不是更好,但我认为我不能说它真的很糟糕
答案 1 :(得分:2)
请注意,将c函数设为静态会将其隐藏到其他翻译单元...
我在.c文件的顶部看到了提供静态函数原型的两个原因:
第二个论点可能是有争议的,因为现在有很多方法可以发现/阅读源代码。所以我认为它不应该是练习。你只在需要时才这样做。
答案 2 :(得分:0)
函数原型的主要用途是在头文件中。如果定义相互递归函数,它们也很方便。除了函数原型之外,只会导致不必要的代码(声明)重复。