title: If a pointer's address is 64 bits, why does it appear as 6 bytes when printed?
body: <pre><code>#include &lt;stdio.h&gt;
  int main(void){
    int *ptr;
    printf("the value of ptr is %p",ptr);
  }
  </code></pre>
  
  <p>This gives me <code>0x7fffbd8ce900</code>, which is only 6 bytes. Should it be 8 bytes (64bit)?</p>