title: C structs vs typedef struct question
body: <p>So my question is multifaceted.</p>
  
  <p>For the purpose of understanding C (not C++) I believe the following code:</p>
  
  <pre><code>struct Foo { int bar; }; 
  </code></pre>
  
  <p>creates a custom type that I can use, but so does this:</p>
  
  <pre><code>typedef Foo { int bar; };
  </code></pre>
  
  <p>The only difference I have seen is whether or not I have to use the "struct" keyword before the variable of the type Foo. What are the differences that cause this behavior?</p>