title: Variable declaration and definition
body: <pre><code>int x;
  </code></pre>
  
  <p>Is this a declaration or a definition?</p>
  
  <p>As I write the following code,</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(void)
  {
      int x;
      printf("%p",&amp;x);
      return 0;
  }
  </code></pre>
  
  <p>it prints some address. So as memory is allocated, <code>int x;</code> can't be just a declaration. So is it a definition?</p>