困惑“ TCPL”中的多源文件链接

时间:2019-04-07 09:11:53

标签: c linker

当我正在阅读“ TCPL”时,一个难题出现了,我尝试解释一下但失败了。 参见下图:Page 74 in "TCPL"
1. "getop.c""stack.c"都包含"calc.h",而"getch.c"不包含。 但是,在"calc.h"中,它还声明了int getch(void)中定义的函数void ungetch(int)"getch.c"
2.程序正常运行。

我的问题是:头文件"calc.h"与源文件"getch.c"而不是include"..."建立连接吗?

1 个答案:

答案 0 :(得分:0)

函数定义也是声明。因此,无需在“ getch.c”中显式声明getchungetch。包括“ calc.h”仍然是一个好主意,以确保“ getch.c”中的定义与其他c文件中使用的声明匹配