If a pointer's address is 64 bits, why does it appear as 6 bytes when printed?

Viewed 6585
#include <stdio.h>
int main(void){
  int *ptr;
  printf("the value of ptr is %p",ptr);
}

This gives me 0x7fffbd8ce900, which is only 6 bytes. Should it be 8 bytes (64bit)?

3 Answers
Related