title: Why can't a struct have a member that is of the same type as itself?
body: <p>I'm stuck on understanding what's happening with this struct (from <code>C for Programmers</code> a Deitel book).  </p>
  
  <p>The book says, "A structure cannot contain an instance of itself.  For example, a variable of type <code>struct employee</code> cannot be declared in the definition for <code>struct employee</code>.  A pointer to struct employee, however, may be included."</p>
  
  <p>It then gives the following example:</p>
  
  <pre><code>struct employee2 {
     char firstName[ 20 ];
  
     char lastName[ 20 ];
  
     unsigned int age;
  
     struct employee2 *ePtr;
  };
  </code></pre>
  
  <p>I don't understand what this is doing, and I don't understand the reference to <code>struct employee</code> without the 2.</p>
  
  <p>How does <code>struct employee2 *ePtr</code> know about <code>struct employee</code> or am I off basis here?</p>