64비트 int형 크기
안녕하세요.
매번 좋은 강의 감사드립니다.
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바이트로 사용할 수 있으니 필요에 따라 이러한 데이터 타입을 선택하실 수 있습니다.
참고로 강의와 관련하여 더 궁금하신 점이 있으시면, 강사님께 직접 문의하시거나 아래 링크를 통해 문의하실 수 있습니다.
감사합니다.
scanf("%d\n") 의미
0
19
1
주소 연산자(&) 간접 지정자(*) 반대 개념
0
32
1
Virtual Memory, Memory, Memory mapping tables
0
50
1
샘플코드 출력 오류 발생 질문드립니다
0
62
2
값의 교환에 사용되는 변수의 위치.
0
87
2
메모리 비교에 관한 질문
0
80
2
문자열 Null
0
62
1
C, C++
0
87
2
문자열 입출력 코드 에러
0
60
2
선생님! 120화 2분 50초 질문입니다.
0
66
1
caller 가 메모리 할당 해제를 할 때의 문제점 질문
0
63
2
단축키 맞는지 여부 문의드립니다.
0
59
2
문자열을 사용하는 이중 포인터에 대하여 질문합니다
0
65
1
char 포인터 변수의 크기에 대하여 제가 이해한 것이 맞을까요
0
78
2
용어 설명 필요
0
56
2
stdin, stdout
0
70
2
필수 실습 (최댓값을 반환하는 함수)
0
92
2
아......ㅠㅠ
0
99
2
버퍼 내 엔터
0
71
1
2진수 뺄셈에서 carry-out
0
111
2
union 식별자는 실무에서 보통 어디에서 사용하나요?
0
79
2
필수실습문제 공부법 (진도 vs 복습)
0
103
2
예제파일 다운로드
0
78
2
Visial Studio Code 를 설치해서 사용해도 수업을 따라가는데 지장이 있나요?
0
118
3





