Почему это не тот же адрес памяти? Это в с.
int *pa;
int a = 80;
pa = &a; //save memory address from a to pa
*pa = 1000; //assign value to that address; *pa and a have now the same value
%p... memory address
%d... decimal
printf ("a: %d \n", a); //100
printf ("*pa: %d \n", *pa); //100
printf ("pa: %p \n", pa); //0x7ffcd1370c54
printf ("&a: %p \n", &a); //0x7ffcd1370c54
printf ("&pa: %p \n", &pa); //0x7ffcd1370c60
& pa всегда на 6 больше, чем pa.
Разве pa, & pa, & a не должны иметь один и тот же адрес?