C++ 변수, 리터럴, 상수 마스터하기: 종합 가이드
C++ 변수, 리터럴, 상수
이 튜토리얼에서는 예제를 통해 C++의 변수, 리터럴, 상수에 대해 학습합니다.
C++ 변수
프로그래밍에서 변수는 데이터를 담는 컨테이너(저장 영역)입니다.
저장 영역을 식별하기 위해 각 변수에는 고유한 이름(식별자)이 필요합니다. 예:
int age = 14;
여기서 age는 int 타입 변수이며, 정수 14가 할당되었습니다.
참고: int 타입은 정수만 저장 가능합니다. 소수나 지수가 필요하면 double 타입을 사용합니다.
데이터 타입에 대한 자세한 내용은 다음 튜토리얼에서 다룹니다.
변수의 값은 변경 가능하므로 '변수(Variable)'라 부릅니다.
int age = 14; // age는 14
age = 17; // age는 17
변수 명명 규칙
- 변수명에는 알파벳, 숫자, 밑줄(
_)만 사용 가능
- 숫자로 시작할 수 없음
- 소문자로 시작하는 것이 관례(예: name가 Name보다 권장)
- 키워드를 변수명으로 쓸 수 없음(예:
int는 키워드)
- 밑줄로 시작 가능하지만 권장하지 않음
팁: 의미 있는 이름을 사용하세요. first_name이 fn보다 좋습니다.
C++ 리터럴
리터럴은 고정된 값을 표현하는 데이터로, 코드에서 직접 사용됩니다. 예: 1, 2.5, 'c' 등.
이 값들에 다른 값을 할당할 수 없으므로 리터럴입니다.
C++의 주요 리터럴 종류:
1. 정수 리터럴
소수부나 지수부 없는 숫자 리터럴입니다. 세 가지 진법이 있습니다:
- 10진법 (decimal)
- 8진법 (octal)
- 16진법 (hexadecimal)
예:
10진법: 0, -9, 22 등
8진법: 021, 077, 033 등
16진법: 0x7f, 0x2a, 0x521 등
C++에서 8진법은 0으로, 16진법은 0x로 시작합니다.
2. 부동소수점 리터럴
소수 형태나 지수 형태를 가진 숫자 리터럴입니다. 예:
-2.0
0.0000234
-0.22E-5
참고: E-5 = 10-5
3. 문자 리터럴
작은따옴표로 단일 문자를 감싸서 만듭니다. 예: 'a', 'm', 'F', '2', '}' 등.
4. 이스케이프 시퀀스
입력할 수 없거나 특수 의미를 가진 문자(줄바꿈, 탭, 물음표 등)를 표현할 때 사용합니다.
| 이스케이프 시퀀스 | 문자 |
\b | 백스페이스 |
\f | 폼 피드 |
\n | 줄바꿈(개행) |
\r | 캐리지 리턴 |
\t | 수평 탭 |
\v | 수직 탭 |
\\ | 백슬래시 |
\' | 작은따옴표 |
\" | 큰따옴표 |
\? | 물음표 |
\0 | 널 문자 |
5. 문자열 리터럴
큰따옴표로 감싼 문자 시퀀스입니다. 예:
"good" | 문자열 상수 |
"" | 빈 문자열 상수 |
" " | 공백 6개의 문자열 상수 |
"x" | 단일 문자를 가진 문자열 상수 |
"Earth is round\n" | 줄바꿈 포함 문자열 |
문자열에 대한 자세한 내용은 C++ 문자열 튜토리얼에서 다룹니다.
C++ 상수
값을 변경할 수 없는 변수를 만들 때 const 키워드를 사용합니다:
const int LIGHT_SPEED = 299792458;
LIGHT_SPEED = 2500; // 에러! LIGHT_SPEED는 상수입니다.
const 키워드로 LIGHT_SPEED 상수를 선언했습니다. 값을 변경하려 하면 에러가 발생합니다.
상수는 #define 전처리 지시자로도 만들 수 있습니다. 자세한 내용은 C++ 매크로 튜토리얼에서 다룹니다.