#include <stdio.h>
int main(void)
{
int n = 7;
printf("n: %d n", n);
printf("&n: %x n", &n);
printf("포인터 하나당 크기는 %ld 바이트n", sizeof(void *));
printf("&n: %p nn", &n);
return 0;
}
이거에 출력값이
n: 7
&n: efbff5c8
포인터 하나당 크기는 8 바이트
&n: 0x7ffeefbff5c8
Program ended with exit code: 0
댓글로 누가 해보라는것도 해봤고,
%p가 16진수로 표현하는거니까 %x로도 나타내봤는데
앞에 4자리가 빠져서 나오네...
그럼 %p 로 출력했을 때 앞에 더나오는 4자리는 뭐야...
보기 안좋은 곳에 댓글 달아놓았음
개인적인 생각이지만 포인터 주소는 아키텍처, 컴파일러마다 달라져서 길이는 크게 중요하지 않은거 같고
그 포인터 주소%p를 16진수%x로 표현하면서 앞에 000 부분은 자연스럽게 날아가는거 같음.. 0100이 10진수로 표현하면 그냥 100이듯이
그런거는 작업환경에 따라 다르게 나타나니 상관없음(다른 컴파일러로 해도 별반 차이X) - dc App