title: what is the difference &p and *p_p in C?
body: <p>I just studying pointers in C and I wondered what is the address of a pointer and after I searched on the Internet I wrote this piece of code.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main() {
      int n = 60;
      int *p = &amp;n;
      int **p_p = &amp;p;
      printf("%p\n", *p_p);
      printf("%p", &amp;p);
      return 0;
  } 
  </code></pre>
  
  <p>and I expected two outputs which are <strong>the same</strong>. Could anyone explain why outputs differ?</p>