title: why do i need to include a .h header file in the .c file of the same name?
body: <p>So I'm following along in Head First C and we're on a chapter where we learn to compile multiple files together. One of them is <code>encrypt.c</code>.</p>
  
  <pre><code>#include "encrypt.h"
  
  
  void encrypt(char *message)
  {
    char c;
    while (*message) {
     *message = *message ^ 31;
     message++;
    }
  }
  </code></pre>
  
  <p>The <code>encrypt.h</code> file repeats the first line with a semicolon at the end, so why do I need it? I understand why I would need header files to fix the problem of using a function before it's defined, so I could understand #including it in a file that uses <code>encrypt.c</code>, but why would I need it inside <code>encrypt.c</code>? Is it just one of those "because" reasons?</p>