title: What's the difference between int *p = &a and q = &a
body: <p>Learner question. I can declare and initialize a pointer in two different way</p>
  
  <pre><code>int a = 10;
  int *p = &amp;a;
  </code></pre>
  
  <p>also</p>
  
  <pre><code>int a = 10;
  int *q;
  q = &amp;a;
  </code></pre>
  
  <p>I want to know what is the difference between two and how does it work in the memory?</p>