• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

따배씨 4-2 4:38초 내용이 이해가 어렵습니다.

23.12.08 18:04 작성 조회수 88

1

안녕하세요, 최근 따배씨 열심히 수강하고 있는 학생입니다.

수강 중 교수님께서 말씀하신 부분의 이해가 어려워 질문 올려봅니다.

"다른 프로그램에서 sizeof가 우리에게 알려주는 값이 범위, 자료형이 unsigned int가 아닐 수 있어서 이식성을 높이기 위해 size_t를 사용한다." 라고 말씀하셨는데 어차피 size_t도 unsigned int 아닌가요?? 결국 unsigned int에 해당하지 않는 자료형이 들어오면 size_t도 sizeof와 다를 바 없다고 이해했는데, 혹시 제가 틀리게 이해하는 부분이 있을까요?? 있다면 가르침을 부탁드리겠습니다.

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.12.09

안녕하세요, 답변 도우미 Soobak 입니다.

 

size_t 자료형은 단순히 unsigned int 와 같지 않습니다.

 

size_t 자료형은 C 언어 표준에서 정의한 특별한 자료형으로, 해당 시스템에서 가능한 가장 효율적인 방식으로 메모리 크기를 나타내도록 설계된 자료형입니다.
즉, 플랫폼이나 컴파일러 등의 환경에 따라서 자료형의 크기가 달라지며, 이는 다양한 환경 간의 이식성과 호환성을 위함입니다.
예를 들어, 64 비트 시스템에서 unsigned int 자료형은 32 비트일 수 있지만, size_t 자료형은 64 비트일 수 있습니다.

 

질문의 논점은 다르지만, 환경에 따라서 size_t 자료형의 크기가 다르게 정의된다는 부분에 관한 관련 질문 링크를 첨부드립니다. 참고해보시면 이해하시는 데에 도움이 되실 것 같습니다.

따배씨 4-2 sizeof 연산자 질문(링크)