포인터 공부도중 참고사항과 다른점
, M W님이 작성안녕하세요, 이제 막 포인터에 진입한 연습생입니다.
https://dojang.io/mod/page/view.php?id=275
위 문서의 하단 참고를 보면
x86
int *numPtr;
printf("%d\n", sizeof(numPtr)); // 4: 32비트에서 int 포인터는 4바이트
x64
int *numPtr;
printf("%d\n", sizeof(numPtr)); // 8: 64비트에서 int 포인터는 8바이트
로 표기되어있는데 실제 x64에서 실행해보면 8이 아니라 4가 출력됩니다.
Win 10 v1709를 사용중인데 이유가 뭔지 알 수 있을까요?
++
비단 int형에서만 그런것이 아니라 char에서도 똑같습니다.
회신: 포인터 공부도중 참고사항과 다른점
, 도장_ 관리자님이 작성32비트로 컴파일되어서 그렇습니다. 64비트로 컴파일하세요.
해당 참고사항의 하단에 64비트로 컴파일하는 방법을 설명하는 링크가 소개되어 있습니다.
64비트로 컴파일하는 방법은 '부록 13. 64비트 사용하기'을 참조하세요.
64비트로 컴파일하면 8이 출력되는 것을 확인할 수 있습니다.