728x90
반응형
자료형의 크기
C언어에서 자료형(data type)의 크기를 파악하는 것은 중요합니다. 우리가 프로그래밍을 할 때 사용하는 변수가 메모리에 어느 정도 공간을 차지하는지 포인터로 접근할 때 어떤 단위로 움직이는지 알고 사용해야 프로그램이 오작동하는 문제를 줄일 수 있습니다.
가령 char를 사용하면서 255가 넘는 범위의 값을 넣는다거나, unsigned 변수인데 음수를 입력해 전혀 다른 수로 연산이 되는 등의 문제가 발생할 수 있기 때문입니다.
<32bit 시스템 기준 자료형 크기 및 범위>
종류 | 자료형 | 크기 (byte) | 범위 |
논리형 | bool | 1 | true (~0), false (0) |
문자 | (signed) char | 1 | -128 ~ 127 |
unsigned char | 1 | 0 ~ 255 | |
정수 | (signed) short | 2 | -32,768 ~ 32767 |
(signed) int | 4 | -2,147,483,648 ~ 2,147,483,647 | |
(signed) long | 4 | -2,147,483,648 ~ 2,147,483,647 | |
(signed) long long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
unsigned short | 2 | 0 ~ 65,535 | |
unsigned int | 4 | 0 ~ 4,294,967,295 | |
unsigned long | 4 | 0 ~ 4,294,967,295 | |
unsigned long long | 8 | 0 ~ 18,446,744,073,709,551,615 | |
실수 | float | 4 | 1.175494e-38 ~ 3.402823e+38 (유효자릿수 7) |
double | 8 | 2.225074e-308 ~ 1.797693e+308 (유효자릿수 16) | |
long double | 8 | 2.225074e-308 ~ 1.797693e+308 (유효자릿수 16) |
참고) 시스템 별 long의 크기
- [Window / 32bit] : 4 byte
- [Window / 64bit] : 4 byte
- [Linux / 32bit] : 4 byte
- [Linux / 64bit] : 8 byte
728x90
반응형
'[R&D] 프로그래밍 > C, C++' 카테고리의 다른 글
[C/C++] 메모리 동적할당 2 (realloc, calloc) (0) | 2022.08.03 |
---|---|
[C/C++] 메모리 동적할당 및 해제 (malloc, free) 사용법 (0) | 2022.08.01 |
[C/C++] 배열이란? - 배열의 개념 및 기본 사용법 (2) | 2022.07.28 |
[C/C++] 포인터(pointer)란? - 포인터의 기본 개념 (2) | 2022.07.27 |
[C++] 자료형 확인 방법 (type_info name) (0) | 2022.07.19 |
댓글