title: Why hasn't 'typedef struct' been made optional in C?
body: <p>In C, a struct can be defined, typedefed, and declared as such:</p>
  
  <pre><code>typedef struct {
      int bar;
  } Foo;
  Foo foo;
  </code></pre>
  
  <p>Or:</p>
  
  <pre><code>struct Foo {
      int bar;
  } foo;
  typedef struct Foo Foo;
  </code></pre>
  
  <p>I think this is a bit inconsistent and overly verbose. I would like for it to work as in C++.</p>
  
  <p>In C++, you don't need to specify <code>typedef struct Foo Foo;</code> to be able to declare a struct like <code>Foo foo;</code> instead of <code>struct Foo foo;</code>. Why hasn't this been introduced to the C standard, or as a compiler flag option? Are there any examples of C code that would break if <code>typedef struct</code> were to be made optional in C?</p>