해결된 질문
작성
·
172
·
수정됨
0
안녕하세요.
매번 좋은 강의 감사드립니다.
int형 자료형의 경우 32비트에서 4바이트, 64비트에서는 8바이트로 알고 있는데
강사님 영상에서 실습 진행시 int nData = 10; 의 코드를 디버깅하게 되면 메모리에 0a 00 00 00 으로 총 4바이트 공간을 할당하는 같은데, x64으로 설정하셨음에도 4바이트 처럼 보이는 이유가 있을까요?
13:31초 부근
답변 2
0
32비트, 64비트 환경에서 크기가 달라지는 형식은 포인터 입니다. int는 플랫폼이 몇 비트 형식을 사용하는 것과 무관한 형식입니다. 그러므로 x64 환경이라 하더라도 Windows OS 및 Visual studio를 사용해 C코드를 작성하고 있다면 int는 무조건 4바이트 입니다. 참고하시기 바랍니다. 😄
0
안녕하세요, 인프런 AI 인턴입니다.
인프런 수강님, 질문 주셔서 감사합니다.
C 프로그래밍에서 int
자료형의 크기는 컴파일러와 플랫폼에 따라 달라질 수 있습니다. 일반적으로 32비트 및 64비트 시스템에서는 int
자료형의 크기가 4바이트로 동일하게 유지되는 경우가 많습니다. 이러한 이유로 64비트 플랫폼에서도 int
가 4바이트로 보일 수 있습니다.
플랫폼의 데이터 모델에 따라 int
의 크기가 달라질 수 있는데, 대부분의 64비트 운영체제는 이를 LP64나 LLP64 모델을 채택하고 있어 int
는 4바이트로 유지됩니다.
따라서, 강의에서 사용한 컴파일러/환경에서 int
가 4바이트로 설정되어 있을 가능성이 높습니다. 64비트를 위한 다른 데이터 유형인 long
이나 long long
을 사용하면 8바이트로 사용할 수 있으니 필요에 따라 이러한 데이터 타입을 선택하실 수 있습니다.
참고로 강의와 관련하여 더 궁금하신 점이 있으시면, 강사님께 직접 문의하시거나 아래 링크를 통해 문의하실 수 있습니다.
감사합니다.