바닥부터 시작하는 C++ (5) - 상수

상수

상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다.

하지만 상수가 변수와 다른 점은 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다는 점입니다.

C++에서 상수는 표현 방식에 따라 다음과 같이 나눌 수 있습니다.

  1. 리터럴 상수(literal constant)
  2. 심볼릭 상수(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은 전 처리기 지시문이며, 끝에 세미콜론(;)이 필요하지 않습니다.

© 2022 JunhoBaik, Built with Gatsby