C++ 데이터 유형
프로그래밍 언어로 프로그래밍할 때는 다양한 정보를 저장하기 위해 다양한 변수가 필요합니다. 변수가 유지하는 것은 저장하는 값의 메모리 위치입니다. 이는 변수를 생성할 때 메모리에 일부 공간이 예약되어 있음을 의미합니다.
다양한 데이터 유형(예: 문자 유형, 와이드 문자 유형, 정수 유형, 부동 소수점 유형, 이중 부동 소수점 유형, 부울 유형 등)의 정보를 저장해야 할 수 있습니다. 운영 체제는 데이터 유형에 따라 메모리를 할당합니다. 변수의 데이터 유형 및 예약된 메모리에 무엇을 저장할지 결정합니다.
기본 내장 유형
C++은 프로그래머에게 다양한 내장 데이터 유형과 사용자 정의 데이터 유형을 제공합니다. 다음 표에는 7가지 기본 C++ 데이터 유형이 나열되어 있습니다.
type | keyword |
---|---|
boolean | bool |
문자 유형 | char |
정수 유형 | int |
float | float |
double | double |
untyped | void |
와이드 문자 | wchar_t |
몇 가지 기본 유형을 사용할 수 있습니다. 하나 이상의 유형 수정자로 수정:
signed
unsigned
short
long
다음 표는 메모리 메모리에 값을 저장할 때 다양한 변수 종류에 필요한 점유량과 최대값, 최소값을 나타낸 표이다. 이 유형의 변수가 저장할 수 있습니다.
unsigned long int4바이트0 ~ 4,294,967,295float4바이트+/- 3.4e +/- 38(~7자리)double8바이트+/- 1.7e +/- 308(~1 5 숫자)long double8바이트+/- 1.7e + /- 308(~15자리)wchar_t2 또는 4바이트1 와이드 문자위 표에서 볼 수 있듯이 변수의 크기는 사용하는 컴파일러와 컴퓨터에 따라 달라집니다.
아래 예는 컴퓨터의 다양한 데이터 유형의 크기를 출력합니다.
#include <iostream> using namespace std; int main() { cout << "Size of char : " << sizeof(char) << endl; cout << "Size of int : " << sizeof(int) << endl; cout << "Size of short int : " << sizeof(short int) << endl; cout << "Size of long int : " << sizeof(long int) << endl; cout << "Size of float : " << sizeof(float) << endl; cout << "Size of double : " << sizeof(double) << endl; cout << "Size of wchar_t : " << sizeof(wchar_t) << endl; return 0; }
이 예제에서는 각 줄 뒤에 개행 문자를 삽입하는 endl을 사용하고 << 연산자를 사용하여 여러 값을 화면에 전달합니다. 또한 sizeof() 함수를 사용하여 다양한 데이터 유형의 크기를 가져옵니다.
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성되며 이는 사용하는 컴퓨터에 따라 달라집니다.
Size of char : 1 Size of int : 4 Size of short int : 2 Size of long int : 4 Size of float : 4 Size of double : 8 Size of wchar_t : 4
typedef 선언
기존 유형에 typedef를 사용할 수 있습니다. 새 이름을 선택하세요. 다음은 typedef를 사용하여 새 유형을 정의하는 구문입니다.
typedef type newname;
예를 들어 다음 명령문은 컴파일러에게 foot이 int의 또 다른 이름임을 알려줍니다.
typedef int feet;
이제 다음 선언은 완전히 합법적입니다. 유형 변수 거리:
feet distance;
열거 유형
열거 유형은 선택적 유형 이름과 해당 유형의 값으로 사용되는 식별자 집합을 선언합니다. 0개 이상의 식별자를 이 유형의 값으로 사용할 수 있습니다. 각 열거자는 열거 유형의 상수입니다.
열거형을 만들려면 enum 키워드를 사용해야 합니다. 열거 유형의 일반적인 형식은 다음과 같습니다.
enum enum-name { list of names } var-list;
여기서 enum-name은 열거 유형의 이름입니다. 이름 목록 { 이름 목록 }은 쉼표로 구분됩니다.
예를 들어 다음 코드는 색상 열거형을 정의하고 변수 c의 유형은 색상입니다. 마지막으로 c에는 "blue" 값이 할당됩니다.
enum color { red, green, blue } c; c = blue;
기본적으로 이름의 값은 0, 두 번째 이름의 값은 1, 세 번째 이름의 값은 2 등입니다. 그러나 초기 값을 추가하여 이름에 특별한 값을 할당할 수도 있습니다. 예를 들어 아래 열거형에서 green의 값은 5입니다.
enum color { red, green=5, blue };
여기서 blue의 값은 6입니다. 기본적으로 각 이름은 이전 이름보다 1이 더 크기 때문입니다.
type | bit | range |
---|---|---|
char | 1바이트 | -128~127 또는 0~255 |
unsigned char | 1 바이트 | 0 ~ 255 |
서명된 문자 | 1바이트 | -128에서 127 |
int | 4바이트 | -2147483647 |
un 서명된 int | 4바이트 | 0에서 4294 967295 |
서명됨 int | 4 bytes | -2147483647 |
short int | 2바이트 | -32768 ~ 3276 7 |
unsigned short int | Range | 0 ~ 65,535 |
signed short int | Range | - 32767# |