상수
상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다.
하지만 상수가 변수와 다른 점은 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다는 점입니다.
C++에서 상수는 표현 방식에 따라 다음과 같이 나눌 수 있습니다.
- 리터럴 상수(literal constant)
- 심볼릭 상수(symbolic constant)
리터럴 상수
리터럴(Literal)은 변수에 넣는 변하지 않는 데이터를 말합니다.
a = 5;
이 코드에서 5는 리터럴 상수입니다.
리터럴 상수는 정수, 부동 소수점, 문자, 문자열, Boolean, 포인터 및 사용자가 정의한 리터럴로 분류 할 수 있습니다.
정수 숫자
231 5542 -43
정숫값을 식별하는 숫자 상수입니다. 인용 부호나 다른 특수 문자로 묶여 있지 않습니다.
231은 문자 그대로 항상 231이라는 수 자체를 나타냅니다.
부동 소수점 숫자
소수점과 지수로 실제 값을 표현합니다.
3.14159 // 3.14159 6.02e23 // 6.02 x 10^23 1.6e-19 // 1.6 x 10^-19 3.0 // 3.0
문자 및 문자열 리터럴
문자 및 문자열 리터럴은 따옴표로 묶습니다.
'z' 'q' "Hello world" "KHU Software Convergence"
처음 두 표현식은 단일 문자 리터럴을 나타내고, 다음 두 표현식은 여러 문자로 구성된 문자열 리터럴을 나타냅니다.
단일 문자를 나타내려면 작은 따옴표('
)로 묶고 문자열을 나타내려면 큰따옴표("
)로 문자를 묶습니다.
그 외의 리터럴
C++에는 세 가지 키워드 리터럴(true, false, nullptr)이 있습니다.
- bool 유형의 변수에는 true와 false만 사용이 가능합니다.
- nullptr은 null 포인터 값 입니다.
상수 표현식
다음처럼 const
를 사용하여 상수를 정의할 수도 있습니다.
const double pi = 3.1415926;
const char tab = '\t';
전처리기 정의 (#define)
#define PI 3.14159 #define NEWLINE '\n'
#define은 전 처리기 지시문이며, 끝에 세미콜론(;
)이 필요하지 않습니다.