C - Scope of C Functions
<p>I apologize if this is a beginner's question, but after working in C for a bit, I finally would like a bit of clarification on exactly what kind of files/functions are available to a function.</p>

<p>I understand we can explicitly include other files with the #include macro like so:</p>

<pre><code>#include bar.c
</code></pre>

<p>But what about files that are in the same directory? Let's say we have the following file structure:</p>

<pre><code>src-
   |
   a.c
   b.c
</code></pre>

<p>And let's say a.c has the function "foo()" and b.c has "bar()"</p>

<p>Would I be able to call bar() within a.c even without explicitly including b.c in the header file?</p>

<p>And what about in sub-directories such as the following:</p>

<pre><code>src-
   |
   a.c
   |
   someFolder-
             |
             b.c
</code></pre>

<p>Would I still be able to access bar() in a.c?</p>

<p>Basically, how exactly is the scope of functions (without including them in headers) defined?</p>