C언어/홍정모 C언어
운영체제 시스템 비트에 따른 size_t, 메모리 크기 차이(4.2 sizeof 연산자_
돌맹이떼굴떼굴
2023. 8. 7. 12:58
1. size_t
size_t의 툴팁을 보면 타입이 unsigned long long으로 강의와는 다르게 나온다. size_t 자료형은 다양한 플랫폼과 환경 간의 호환성을 위한 자료형으로, 플랫폼과 환경마다 다르게 정의된다. 즉 이식성이 좋도록 size_t를 만들었고, 위를 보면 X64 시스템을 사용하기 때문에 자료형의 타입이 다르게 나온다.
2. 메모리 크기
위와 같은 이유로 포인터의 크기가 4bytes가 아니라 8bytes로 출력된다. 64 비트 시스템에서 포인터의 크기는 8byte가 맞다.
X86으로 바꾸면 4byte로 나온다.