title: C %p printing 16 instead of 8 bytes
body: <p>I need to print the address of a pointer.
  This is my code：</p>
  <pre><code>float arr[5] = {1.2 , 2.3 , 5 , 7.1 , 9.6};
  float *ptrarr;
  ptrarr = &amp;arr[0];
  
  printf(&quot;Address of ptrarr+2=%p,%p \n\n&quot;,ptrarr+2,&amp;arr[2]);
  </code></pre>
  <p>I knew that pointer addresses have 8 bytes, but my output is always 16 bytes.
  This is the output</p>
  <pre><code>Address od ptarr+2=000000000061FDE8,000000000061FDE8
  </code></pre>
  <p>Can someone please explain?</p>