날마다 새롭게 또 날마다 새롭게

size_t와 unsigned int형의 차이점 본문

프로그래밍/C / C++

size_t와 unsigned int형의 차이점

아무유 2013. 3. 15. 21:48

size_t는 

typedef unsigned int size_t; 

로 정의 된 부호없는 정수형 데이터 type 입니다.

그런데 unsigned int 와 차이점이 있습니다.

size_t 는 32비트 운영체제에서는 '부호없는 32비트 정수'이고 64비트 운영체제에서는 '부호없는 64비틑 정수'가 됩니다.

하지만 unsigned의 int는 64비트 운영체제라고 해서 꼭 64비트 정수는 아닙니다.

그래서 size_t 데이터를 캐스팅하지 않고 unsigned int 데이터 타입 변수에 대입하면 다음과 같은 경고가 출력됩니다.

warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data 

Comments