인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

인프런 수강님의 프로필 이미지

작성한 질문수

독하게 시작하는 C 프로그래밍

포인터 변수 기본 문법

64비트 int형 크기

해결된 질문

작성

·

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 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.
인프런 수강님, 질문 주셔서 감사합니다.

C 프로그래밍에서 int 자료형의 크기는 컴파일러와 플랫폼에 따라 달라질 수 있습니다. 일반적으로 32비트 및 64비트 시스템에서는 int 자료형의 크기가 4바이트로 동일하게 유지되는 경우가 많습니다. 이러한 이유로 64비트 플랫폼에서도 int가 4바이트로 보일 수 있습니다.
플랫폼의 데이터 모델에 따라 int의 크기가 달라질 수 있는데, 대부분의 64비트 운영체제는 이를 LP64나 LLP64 모델을 채택하고 있어 int는 4바이트로 유지됩니다.

따라서, 강의에서 사용한 컴파일러/환경에서 int가 4바이트로 설정되어 있을 가능성이 높습니다. 64비트를 위한 다른 데이터 유형인 long이나 long long을 사용하면 8바이트로 사용할 수 있으니 필요에 따라 이러한 데이터 타입을 선택하실 수 있습니다.

참고로 강의와 관련하여 더 궁금하신 점이 있으시면, 강사님께 직접 문의하시거나 아래 링크를 통해 문의하실 수 있습니다.
감사합니다.

수강 문의