title: How would you #include multiple .h files to prevent warnings
body: <p>I have a single main .c file with 4 .h files and .c files included into the main function.  Like this:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include "file1.h"
  #include "file2.h"
  #include "file3.h"
  #include "file4.h"
  
  int main(){...}
  </code></pre>
  
  <p>The .h files have all the declarations for all of their corresponding .c files.  Some of the .c files do use functions from other .c files, for example "file4.c" uses some functions declared in "file2.h" and "file1.c" uses functions declared in "file3.h".  I've tried declaring the same includes as in main in every .c file and tried reordering the include files, but I still get warning messages about implicit declarations of functions and incompatible implicit declarations.  </p>
  
  <p>I was wondering how you would use #includes in your large projects to eliminate  warning messages.  I'm using gcc as the compiler.</p>