title: How to declare extern typedef struct?
body: <p>I have two c files, foo.c with the functionality and test_foo.c which test the functions of foo.c.</p>
  
  <p>Is there a way to access the struct typedef <code>BAR</code> I defined in foo.c in test_foo.c without using a header file? So far, I was able to avoid a h file so that the whole program would consist of foo.c. Thanks.</p>
  
  <pre><code>foo.c   
  typedef struct BAR_{...} bar;
  BAR *bar_new(...) {..}
  
  test_foo.c
  extern BAR *bar_new(...)
  </code></pre>
  
  <p><code>error: expected declaration specifiers or ‘...’ before ‘BAR’</code></p>