当我正在阅读“ 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"..."
建立连接吗?
答案 0 :(得分:0)
函数定义也是声明。因此,无需在“ getch.c”中显式声明getch
和ungetch
。包括“ calc.h”仍然是一个好主意,以确保“ getch.c”中的定义与其他c文件中使用的声明匹配