1. 리터럴(Literal)
리터럴은 코드에 표시한 숫자, 스트링과 같은 값을 의미한다.
1-1. 리터럴 종류
- 십진수 리터럴 : 123
- 8진수 리터럴 : 0173
- 16진수 리터럴 : 0x7B
- 이진수 리터럴 ; 0b111011
- 부동소수점 값 : 3.14f
- 배정도 부동소수점 값 : 3.14
- 단일 문자 : 'a'
- '0'으로 끝나는 문자 배열 : "Hello World!"
1-2. 숫자 리터럴에서 자릿수 구분자 사용 방법
자리수 구분자는 작은따옴표(')로 표현한다.
- 23'456'789
- 0.123'456f
2. 변수
- C++에서 변수는 코드 안의 어디에서나 선언할 수 있다!
- 변수를 선언할 때는 꼭 초기화를 하자! (선언과 동시에 초기화를 하자.)
- 초기화를 하지 않으면 쓰레기 값이 변수에 들어있기 때문이다.
- 버그를 발생시키는 원인 중의 하나다.
변수 선언 예시
// 문자형
char ch = 'm';
char16_t c16 = u'm';
char32_t c32 = U'm';
wchar_t w = L'm';
// 정수형
bool b = true;
int i = -1;
signed int i = -5;
signed i = -5;
short s = 1;
short int s = 14;
signed short s = 20;
signed short int s = 16;
long l = -7L;
long long ll = 14LL;
unsigned int i = 2U;
unsigned j = 5U;
unsigned short s = 23U;
unsiged long l = 5400UL;
unsiged long long ll = 140ULL;
// 실수형
float f = 7.2f;
double d = 7.2;
long double d = 15.36L;
// 바이트형
std::byte b{45};
3. 자료형
- OS, 컴파일러에 따라 자료형의 크기가 조금씩 다르다!
구분 | 타입 | 설명 | 범위 | 크기 (byte) |
기본형 | void | 자료형이 없음 | 1 | |
문자형 | char | 단일 문자 | -128 ~ 127 | 1 |
unsigned char | 0 ~ 255 | 1 | ||
char16_t | 16비트 단일 문자 | |||
char32_t | 32비트 단일 문자 | |||
wchar_t | 단일 확장(single wide)문자. | 크기는 컴파일러마다 다르므로 해당 범위는 참고만 하기. 0 ~ 65,535 |
2 | |
정수형 | bool | true (1) / false (0) 중 하나를 값으로 가진다. | 0 ~ 1 | 1 |
int | 부호가 있는 정수 | -2,147,483,648 ~ 2,147,483,647 |
4 | |
short | 작은 범위의 정수 | -32,768 ~ 32,767 | 2 | |
long | 큰 범위의 정수 | -2,147,483,648 ~ 2,147,483,647 |
4 | |
long long | 아주 큰 범위의 정수. | 컴파일러마다 구체적인 범위가 다르므로 참고만 하기. -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
8 | |
unsigned (int) | 0 이상의 정수들 | 0 ~ 4,294,967,295 | 4 | |
unsigned short | 4 | |||
unsigned long | 0 ~ 4,294,967,295 | 4 | ||
unsigned long long | 0 ~ 18,446,744,073,709,551,615 | 8 | ||
실수형 | float | 부동소수점수 | 3.4E+/-38(7개의 자릿수) | 4 |
double | 부동소수점수 | 8 | ||
long double | 부동소수점수 | 8 | ||
바이트형 | std::byte | 1 바이트를 표현한다. C++17에 추가된 자료형. |
1 |
OS별(16bit/32bit/64bit) 크기
- int는 시스템의 기본연산 단위를 사용한다.
- 16bit - 2byte
- 32 - 4byte
- 64 - 4byte
- 64bit에서 long형을 8byte로 확장하였다.
- 16bit - 4byte
- 32 - 4byte
- 64 - 8byte
'프로그래밍언어 > C++' 카테고리의 다른 글
[c++] 4. 기초정리(4)- 열거 타입 enum 사용법 (0) | 2022.06.11 |
---|---|
[c++] 3. 기초정리(3) - 연산자 - 단항연산자, 이항연산자, 삼항연산자 (0) | 2022.06.10 |
[C++] 1. 기초 정리(1) - 주석, 전처리 지시자, 헤더 파일, main()함수, iostream, namespace (0) | 2021.12.25 |