title: Structure declaration and definition in C
body: <p>If we write something like this:</p>
  
  <pre><code>typedef struct 
  {
      unsigned int counter;
  } MyStruct;
  </code></pre>
  
  <p>This represents structure declaration?</p>
  
  <p>Declaration says our compiler that somewhere there is a structure which have parameters of type and size like above,  and no space is reserved in memory for that structure in case of declaration.</p>
  
  <p>and definition is, as now we reserved a space in memory for our structure:</p>
  
  <pre><code>MyStruct tmpStruct;
  </code></pre>
  
  <p>Or I am wrong?</p>
  
  <p>Please clarify the situation with structures.</p>