title: Two structs in different header files, both using the other
body: <p>I've already gone through a bunch of threads on hear and a bunch of others I found on Google.  I still can't seem to get this right.</p>
  
  <pre><code>//Room.h
  #ifndef ROOM_H
  #define ROOM_H
  
  #include "Door.h"
  
  typedef struct {
     Door* doors[3];
  
  } Room;
  
  #endif
  
  //Door.h
  #ifndef DOOR_H
  #define DOOR_H
  
  #include "Room.h"
  
  typedef struct {
     Room* room1;
     Room* room2;
  } Door;
  
  //main.c
  #include &lt;stdio.h&gt;
  #include "Room.h"
  int main() { ... }
  </code></pre>
  
  <p>I already tried adding this to the top of Door.h</p>
  
  <pre><code>typedef struct Room room1;
  //typedef struct Room* room1;
  //typedef stuct Room;
  //typedef struct Room*;
  </code></pre>
  
  <p>All gave me this error:</p>
  
  <p>"unknown type name ‘Room’"</p>
  
  <p>I want to keep these structs separate header files.</p>