stdio.c 和 stdio.h 有什么区别?

cpr*_*100 0 c

不能在头文件中定义 stdio 函数和变量而不必使用 .c 文件。

如果没有,.c 文件有什么用?

tad*_*man 6

必须实现头文件中定义的函数。该.c文件包含实现,尽管这些实现已经被编译成编译器可以使用的静态或共享库。

头文件应包含对函数最少描述,以节省编译时间。如果它包含整个源代码,它会强制编译器每次编译时都重新构建它这真的很浪费,因为该源代码永远不会改变。

实际上,头文件用作关于如何与已编译库交互的备忘单。

.c提供这些文件的原因主要是为了调试,因此您的调试器可以逐步执行调试构建并显示源代码而不是原始机器代码。在极少数情况下,您可能希望查看特定函数的实现以更好地理解它,或者在更罕见的情况下,识别错误。它们实际上并不用于编译您的程序。

在您的代码中,您应该只引用头文件版本,即.hvia#include指令。

  • C 是几十年前创建的,当时计算机时间非常昂贵。它的许多规则(例如必须在使用函数之前声明函数)旨在使编译过程更快。现代语言通常没有这些限制,因为程序员不太关心代码编译时间是 100 毫秒还是 300 毫秒。但在 70 年代,1 分钟或 3 分钟就更重要了。 (4认同)