title: Is it necessary to write #include< stdio.h> in every function in a separate file? C
body: <p>I have started to learn C recently. I am using Eclipse and I want to create a program where each function is in a different file. My question is the following:</p>
  
  <p>This in my main.c file:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include "header.h"
  
  int main(void) {
      function();
      system("pause");
      return EXIT_SUCCESS;
  }
  </code></pre>
  
  <p>My header.h:</p>
  
  <pre><code>#ifndef HEADER_H_
  #define HEADER_H_
  
  void function (void);
  
  #endif /* HEADER_H_ */
  </code></pre>
  
  <p>And my function.c:</p>
  
  <pre><code>#include &lt;stdio.h&gt; //Necessary??
  
  void function (void){
      printf("Hello\n");
  }
  </code></pre>
  
  <p>Is it necessary to write #include&lt; stdio.h>, #include&lt; stdlib.h>, etc. in every function? The program works without #include  in function.c but I get a warning. </p>
  
  <p>Thanks in advance!</p>