c - 我应该在 .h 文件中定义函数还是只声明它们?

标签 c function header-files function-prototypes function-definition

我是 C 的新手,我遇到了这个声明:

"Functions need to be declared in .h files and not defined with exception of inline functions".

那么我的问题是,标准函数在哪里定义?

最佳答案

"Functions need to be declared in .h files and not defined with exception of inline functions".

您在 header 中声明了一个函数的存在。供所有家属查看。
您在源文件中实现(定义)函数。家属看不到这个。
头文件是 API 或您的 C 文件,用于在应用程序的其他地方使用,隐藏实现。
内联函数的异常(exception)与以下事实有关,即在编译依赖项时,编译器必须知道放置而不是函数调用的内容。

仅在源文件中(私有(private))使用的函数不需要在头文件中声明。为什么要告诉其他代码呢?

My question is then where are standard functions defined?

在编译库中。你只知道它们存在,而不知道它们存在的地方。实现对您隐藏。 linker连接点。

关于c - 我应该在 .h 文件中定义函数还是只声明它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62275590/

相关文章:

c - 在 C 中这个 int 到 float 的转换有什么问题?

c++ - 无法在 C++ 控制台应用程序项目中包含头文件

java - 如何在 Java 中共享类的接口(interface)而不泄露整个源代码(如 .h 文件)

javascript - 强制用户单击 'OK' 选项进行确认

function - IO对象Haskell的问题

c++ - 当文件拆分为 .cpp 和 .h 文件时,从派生类指针到基类指针的转换不起作用

c - 即使将 scrollok 设置为 true,ncurses 窗口滚动也不起作用

c - 对包含数组的结构使用 free()

c++ - 内存泄漏问题

python - python 的可变长度参数 (*args) 会在函数调用时扩展生成器吗?