【发布时间】:2016-05-28 03:07:38
【问题描述】:
如果这是一个初学者的问题,我深表歉意,但是在使用 C 语言工作了一段时间之后,我终于想澄清一下函数可以使用哪些类型的文件/函数。
我知道我们可以像这样使用 #include 宏显式包含其他文件:
#include bar.c
但是同一目录中的文件呢?假设我们有以下文件结构:
src-
|
a.c
b.c
假设 a.c 有函数“foo()”,b.c 有“bar()”
即使没有在头文件中明确包含 b.c,我是否可以在 a.c 中调用 bar()?
那么在子目录中,例如以下:
src-
|
a.c
|
someFolder-
|
b.c
我还能在交流中访问 bar() 吗?
基本上,函数的范围(不包括在标头中)是如何定义的?
【问题讨论】:
-
如果您将它们编译并链接在一起,是的。
-
注意:不推荐
#include bar.c。我们有头文件。 -
@SouravGhosh 甚至不是“不推荐”,而是完全错误的。
bar.c周围应该有双引号。 -
@FUZxxl 取决于。如果
.c只包含声明怎么办?无论如何,扩展名没有多大用处。语法部分,我同意。 :) -
@SouravGhosh:
".c"仍然是错误的扩展名。使用".h"。