gpt4 book ai didi

c - "file.c"和 "file.h"和有什么区别?

转载 作者:行者123 更新时间:2023-11-30 21:34:55 26 4
gpt4 key购买 nike

当我创建“file.c”和“file.h”时,我不知道是否必须在“file.h”中编写“file.c”函数的原型(prototype),然后编写函数在没有 main 的“file.c”中。如果我这样做正确吗?我只是想确保我了解如何创建头文件,并且我需要澄清。

最佳答案

编译器和其他软件通常不会强制以“.c”命名的文件和以“.h”命名的文件之间存在差异。人类使用的约定是:

  • file.c 包含对象和函数的定义,最好是一小组相关内容(例如处理一种类型的对象的例程集合)。
  • file.h 包含 file.c 中对象和函数的声明,但仅限于我们希望其他源文件使用的那些对象和函数。

定义提供了对象和函数的实际内容。编译器使用定义为这些对象和函数生成数据和代码。

声明告诉其他源文件有关对象和函数的信息,例如指定它们的类型,以便其他源文件能够使用这些对象和函数。

一般来说,file.c 应该包含 file.h,并带有 #include。尽管这看起来有些多余,但因为 file.c 已经知道它定义的对象和函数,所以它提供了错误检查:如果 file.c 包含 file.h,并且 file.h 中的声明与定义不一致在file.c中,编译器将提供警告或错误消息。如果 file.c 不包含 file.h,编译器将无法执行此检查。

关于c - "file.c"和 "file.h"和有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54732758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com