c - 在 C 中多次声明一个函数有什么意义?

标签 c function prototype declaration

我曾多次看到 header 中函数的原型(prototype)声明实际上在 c 文件中重复。

在 C 中可以多次声明一个函数 - 但这有什么意义呢?这只是为了更好的可读性还是我缺少一些更深入的见解?

最佳答案

这是可能的。这没有任何意义。

但它也不会造成任何伤害。您可以根据需要多次声明一个函数,但每个此类声明必须与其他声明相同。所以这样做是没有意义的。正如有人所建议的,也许这是一个复制/粘贴错误。

不过,您只能有一个函数定义,该定义应始终位于 c 文件中。


您应该这样做:

  • 作为调用者接口(interface)一部分的函数声明应该位于 h 文件中,而且只存在于该文件中。

  • 只能从 c 文件本身内部使用的本地(私有(private))函数的函数声明应该位于 c 文件中,并且只能存在。此类函数应声明并定义为静态

关于c - 在 C 中多次声明一个函数有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318801/

相关文章:

c - 如何处理不能通过 int 在 c 中存储的大数

function - 如何从不将 vec 作为参数的回调内部将值存储在 Vec 中?

javascript - 除非设置为可写,否则无法覆盖 readOnly 可配置函数值对象原型(prototype)属性

javascript - jQuery 和 JavaScript 函数

javascript - javascript中两种原型(prototype)设置代码的区别

javascript - 静态 JavaScript 成员

c - 在哪里可以找到 "gmp.h"?

C:动态大小结构的推荐样式

c - 指针未传递,打印列表不起作用

R编程: which(colnames(df) == "thecolumnname") is not working inside a function?