size_t 란??
- C/C++ 에서 쓰이는 데이터 타입이다. C99 표준에 정의되어 있다. [나무위키](https://namu.wiki/w/size_t)
- size_t는 해당 시스템에서 어떤 객체나 값이 포함할 수 있는 최대 크기의 데이터를 표현하는 타입으로 반드시 unsigned 형으로 나타낸다. stddef.h 및 cstddef 헤더에 정의되어 있다.
c99원문
size_t can store the maximum size of a theoretically possible object of any type
size_t는 어떤 타입의 사이즈 이던지 간에 충분한 bytes를 가진 unsigned int
이다.
size_t는 모든 타입에 상응하는 용량을 가지고있고, vecter
, array
에 index도 표현하기 쉽다.
'의도한 것을 보장 받을 수 있다.' 부가 설명을 하자면, size_t는 32bit 운영체제에서 부호 없는 32비트 정수이고, 64bit 운영체제에선 부호 없는 64bit 정수 이다. (가장 큰 크기를 보장 받을 수 있다.)
하지만 unsigned int 또는 int는 64bit OS라고 해서 꼭 64bit 정수가 아닐 수 있다. 여전히 32bit일 수도 있다. 이게 size_t와 unsigned int형의 차이이다.