title: nested struct in C
body: <pre><code>struct s{ 
  int a; 
  struct s b;
  };
  </code></pre>
  
  <p>The above code segment throws the error  <code>error: field 'b' has incomplete type</code> while </p>
  
  <pre><code>struct s{ 
  int a; 
  struct s *b;
  };
  </code></pre>
  
  <p>doesn't give any error. I don't understand why this is allowed for pointers but not for the non-pointer variable !!  </p>