32비트 기준 자료형 크기. 다른 OS(16비트나 64비트)나 컴파일러에서는 자료형의 크기가 다를 수 있음.
구분자료형크기범위 (http://myblog.opendocs.co.kr/archives/1230 참조)
기본형 | void | – | – |
문자형 | (signed) char | 1 byte | -128 ~ 127 |
unsigned char | 1 byte | 0 ~ 255 | |
wchar_t | 2 byte | 0 ~ 65,535 | |
정수형 | bool | 1 byte | 0 ~ 1 |
(signed) short (int) | 2 byte | -32,768 ~ 32,767 | |
unsigned short (int) | 4 byte | 0 ~ 65,535 | |
(signed) int | 4 byte | -2,147,483,648 ~ 2,147,483,647 | |
unsigned int | 4 byte | 0 ~ 4,294,967,295 | |
(signed) long (int) | 4 byte | -2,147,483,648 ~ 2,147,483,647 | |
unsigned long (int) | 4 byte | 0 ~ 4,294,967,295 | |
__int8 | 1 byte | -128 ~ 127 | |
__int16 | 2 byte | -32,768 ~ 32,767 | |
__int32 | 4 byte | -2,147,483,648 ~ 2,147,483,647 | |
__int64 | 8 byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
실수형 | float | 4 byte | 3.4E-38(-3.4*10^38) ~ 3.4E+38(3.4*10^38) (7digits) |
(long) double | 8 byte | 1.79E-308(-1.79*10^308) ~ 1.79E+308(1.79*10^308) (15digits) |
OS별 (16bit/32bit/64bit) 크기 사용의 요점은 다음과 같음.
int는 시스템의 기본연산 단위를 사용한다. (16bit=>2byte, 32bit=>4byte, 64bit=>4byte)
64bit에서 long형을 8byte로 확장하였다. (16bit=>4byte, 32bit=>4byte, 64bit=>8byte)
Extra)
Visual Studio는 스택 크기를 1MB로 기본 설정하며, 이 크기를 초과하면 스택 오버플로가 발생.
따라서 int형 배열 25만개 이상 만들지 말것.
int main()
{
int array[1000000]; //allocate 1 million integers (probably 4MB of memory)
}
'삼성전자 알고리즘 > 기타' 카테고리의 다른 글
6. C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙 (0) | 2019.05.06 |
---|---|
5. Visual Studio 팁 (0) | 2019.05.06 |
3. malloc, new 써야할까 (0) | 2019.05.06 |
3. C++ 구조체와 클래스 차이 (0) | 2019.05.02 |
2. 비주얼스튜디오 디버깅 (0) | 2019.04.28 |