title: two structs that refer to each other
body: <p>How can I have two different structs that refer to each other? One holds a pointer to the other and I also have a forward declaration:</p>
  <pre><code>struct json_array_t; 
  
  struct json_array_entry_t {
      enum json_type type;                
      union {
          bool                boolean; 
          long long           integer; 
          double              floating; 
          char*               string; 
          struct json_array_t array; 
      }; 
  }; 
  
  struct json_array_t {
      struct json_array_entry_t* entries; 
      size_t len, cap;
  };
  </code></pre>
  <p>I am getting these errors:</p>
  <pre><code>error: field ‘array’ has incomplete type
     27 |         struct json_array_t array;
  </code></pre>