title: Can we declare structure object at file scope before the structure definition?
body: <p>According to the code given below and the answer for it:</p>
  
  <blockquote>
    <p><strong>Question</strong>: Which of the following structure declarations will throw an error?</p>
    
    <ol>
    <li><pre><code>struct temp { char c; } s;
  int main(void) {}
  </code></pre></li>
    <li><pre><code>struct temp { char c; };
  struct temp s;
  int main(void) {}
  </code></pre></li>
    <li><pre><code>struct temp s; 
  struct temp { char c; };
  int main(void) {}
  </code></pre></li>
    <li><p>None of the above.</p></li>
    </ol>
    
    <p><strong>Answer</strong>: 4</p>
  </blockquote>
  
  <p>Is this correct? Can we declare a structure object first and only then the structure definition?</p>