C++에서는 변수를 선언할 때 자료형 앞에 const 한정자(qualifier)를 붙여 상수를 정의할 수 있습니다. const로 선언된 변수는 초기화 이후 값을 변경할 수 없으며, 변경을 시도하면 컴파일 오류가 발생합니다.예제#include<iostream> using namespace std; int main() { const int x = 9; x = 0; // 컴파일 오류 발생 return 0; }위 코드는 상수 변수 x를 정의합니다. 그러나 상수로 선언된 값에 새로운 값을 다시 할당하려고
C++에서 상수의 유형이라는 개념은 사실 별도로 존재하지 않습니다. C++에서는 어떤 자료형이든 const 키워드를 사용해 상수로 선언할 수 있기 때문입니다. 즉, int, double, char 등 기본 자료형부터 사용자 정의 클래스까지 모두 상수로 만들 수 있습니다.const 키워드란?변수를 const 키워드로 선언하면 해당 변수는 상수가 되며, 한 번 초기화된 값을 다시 변경할 수 없습니다. 값을 재할당하려고 하면 컴파일 오류가 발생합니다.예제 코드#include<iostream> using namespace std
변수와 상수는 프로그래밍과 수학에서 널리 사용되는 두 가지 핵심 개념입니다. 간단히 말해, 변수(variable)는 값이 변하거나 변할 수 있는 값을 저장하는 공간이며, 상수(constant)는 한 번 정의되면 프로그램 전체에서 절대 변하지 않는 고정된 값입니다.변수와 상수의 개념 이해하기예를 들어, 반지름 10개가 담긴 목록이 있고 이 원들의 넓이를 모두 계산하는 프로그램을 작성한다고 가정해 보겠습니다. 원의 넓이를 구하려면 파이(π) 값이 필요한데, 이 값은 프로그램이 실행되는 동안 절대 바뀌지 않습니다. 이처럼 변하지 않는 값
C++에서 리터럴(Literal)이란 무엇인가?리터럴(literal)은 소스 코드 안에서 특정 값을 직접 표현하는 표기법을 의미합니다. 리터럴은 코드에 그대로 존재하며, 별도의 변수나 메모리 주소를 참조하지 않고 자기 자신이 곧 값입니다.이것은 식별자(identifier)와 대비되는 개념입니다. 식별자는 변수 이름처럼 메모리에 저장된 값을 가리키는 참조 역할을 하지만, 리터럴은 메모리를 참조하는 것이 아니라 코드 자체에 고정된 값을 나타냅니다.C++ 리터럴의 종류C++에는 다양한 타입의 리터럴이 존재하며, 대표적인 예시는 다음과 같
C++에서 리터럴(Literal)이란?리터럴은 소스 코드 안에 값 자체로 직접 표현되는 데이터를 의미합니다. 예를 들어 숫자 25나 문자열 Hello World처럼, 별도의 변수나 이름 없이 그 자체로 값을 나타내는 것이 모두 리터럴입니다.리터럴은 자신만의 메모리 주소를 가지지 않으며, 단순히 코드 안에 존재하는 고정된 값이라는 점이 특징입니다.상수(Constant)란 무엇인가?상수는 프로그램 전체에서 변하지 않는 특정 값을 대표하는 이름 붙은 데이터입니다. 즉, 리터럴을 대신하여 사용할 수 있는 식별자라고 할 수 있습니다.프로그램
C++ 정수 상수(Integer Constant)란?정수 상수는 소수점 이하 자릿수나 지수를 포함하지 않는 상수 데이터 요소를 의미합니다. 정수 상수는 반드시 숫자로 시작해야 하며, 10진수(decimal), 8진수(octal), 16진수(hexadecimal) 세 가지 형태로 표현할 수 있습니다.또한 정수 상수는 부호의 유무에 따라 signed 또는 unsigned 타입으로, 크기에 따라 long 또는 short 타입으로 지정할 수 있습니다.각 진법별 정수 상수 표현 방법10진수: 일반적인 숫자 형태로 작성합니다. 예: 158진수
부동 소수점 상수(Floating-point Constant)는 소수 부분을 반드시 포함해야 하는 값을 표현할 때 사용되는 리터럴입니다. 정수형 상수와 달리 항상 소수점이 존재한다는 것이 가장 큰 특징입니다.부동 소수점 상수의 구성 요소부동 소수점 상수는 크게 세 가지 요소로 구성됩니다.가수(Mantissa): 숫자 자체의 값을 결정하는 부분지수(Exponent): 숫자의 크기(자릿수)를 결정하는 부분접미사(Suffix): 상수의 데이터 타입(double 또는 float 등)을 지정하는 선택적 요소가수(Mantissa)의 표기 방법
문자 상수(character constant)는 프로그램 소스 코드를 작성할 때 사용하는 문자 집합인 소스 문자 집합(source character set)에 속한 하나 이상의 문자를 작은따옴표()로 묶어 표현한 것입니다. 문자 상수는 프로그램이 실제로 실행되는 환경의 문자 집합인 실행 문자 집합(execution character set)의 문자를 나타내는 데 사용되며, 흔히 문자 리터럴(character literal)이라고도 부릅니다. C++에서의 문자 리터럴 C++에서 문자 리터럴은 하나의 상수 문자로 구성되며, 작은따옴표
C++ 문자열 리터럴의 정의문자열 리터럴(string literal)은 익명 문자열(anonymous string)이라고도 불리며, 프로그래밍에서 소스 코드 안에 문자열 값을 직접 표현하기 위해 사용되는 리터럴(literal)의 한 종류입니다.좀 더 쉽게 설명하면, 문자열 리터럴이란 큰따옴표(" ")로 둘러싸인 텍스트 조각을 의미합니다.기본 예제const char* var = Hello;위 코드에서 var를 정의할 때 사용된 "Hello"가 바로 문자열 리터럴입니다.const 키워드의 역할이처럼
C++에서 문자열 상수를 정의하려면 먼저 <string> 헤더 파일을 포함해야 합니다. 그다음 std::string 클래스와 const 키워드를 함께 사용하여 문자열 상수를 생성할 수 있습니다.예제 코드#include<iostream> #include<string> int main() { const std::string MY_STRING = Hello World!; std::cout << MY_STRING; return 0; }실행 결과위 코드를 실행하면 다음과 같은 출력이
C++에서 변수를 정의하려면 아래와 같은 기본 문법을 사용해야 합니다.변수 선언 기본 문법datatype variable_name;변수를 선언할 때는 두 가지를 먼저 결정해야 합니다. 첫째, 변수가 어떤 타입의 데이터를 저장할 것인지, 둘째, 그 변수의 이름을 무엇으로 지을 것인지입니다. 변수 이름에는 몇 가지 제약 조건이 있으며, 다음 규칙을 반드시 지켜야 합니다.C++ 변수 이름 규칙변수 이름은 1자에서 최대 255자까지 사용할 수 있습니다.모든 변수 이름은 알파벳 문자 또는 밑줄(_)로 시작해야 합니다.첫 글자 이후에는 문자와
C++ 열거 상수(Enumerated Constants)란 무엇인가?열거형(enumerated type)은 선택적인 타입 이름과, 해당 타입의 값으로 사용할 수 있는 하나 이상의 식별자 집합을 선언하는 자료형입니다. 각 열거자(enumerator)는 그 타입이 곧 열거형 자체인 상수이며, 이를 열거 상수(enumerated constants)라고 부릅니다.열거형은 변수가 가질 수 있는 값의 종류가 미리 정해져 있을 때 특히 유용합니다. 예를 들어 성별(gender)을 나타내는 변수가 남성(MALE), 여성(FEMALE), 기타(OT
C++ 문자 리터럴과 문자열 리터럴의 차이점C++에서 작은따옴표( )와 큰따옴표( )는 전혀 다른 의미를 가집니다. 두 표기법은 겉보기에 비슷해 보이지만, 데이터 타입과 메모리 구조, 동작 방식까지 모두 다르기 때문에 그 차이를 정확히 이해하는 것이 중요합니다.작은따옴표: 문자 리터럴(Character Literal)작은따옴표로 감싼 하나의 문자는 문자 리터럴이며, 타입은 char입니다. 예를 들어 a는 ASCII 기반 시스템에서 정숫값 97을 가지는 char 타입입니다.char c = a; // char 타입, ASCII 값 97
C 언어에서 문자열 리터럴의 자료형은 char[], 즉 char 배열입니다. 반면 C++에서 일반 문자열 리터럴은 n개의 const char로 구성된 배열(array of n const char) 타입을 가집니다. 예를 들어, 문자열 리터럴 Hello는 널 종료 문자 \0까지 포함하여 총 6개의 요소를 가지므로, 그 자료형은 6개의 const char로 구성된 배열, 즉 const char[6]입니다. const char s[6] = Hello; // Hello와 동일한 타입의 배열 다만 이 배열은 배열-포인터 변환(array-to
C++에서 Lvalue와 Rvalue란 무엇인가?C++ 프로그래밍에서 모든 표현식(expression)은 lvalue 또는 rvalue 중 하나로 분류됩니다. 이 두 가지 개념을 정확히 구분하는 것은 포인터, 참조(reference), 그리고 이동 시맨틱(move semantics)을 제대로 활용하기 위해 반드시 필요한 기본 지식입니다.Lvalue(Locator Value)란?lvalue(locator value)는 메모리에서 식별 가능한 특정 위치를 차지하는 객체를 의미합니다. 쉽게 말해, 고유한 메모리 주소를 가지고 있어 프로그
C++ 값 카테고리(Value Category)란?C++11부터 모든 표현식(expression)은 lvalue, xvalue, prvalue라는 세 가지 기본 값 카테고리로 분류됩니다. 여기에 조합 개념인 glvalue와 rvalue를 더해 총 다섯 가지 용어가 사용됩니다. 이 개념은 이동 시맨틱(move semantics)과 완벽 전달(perfect forwarding)을 이해하는 데 필수적이므로, 각각의 정의와 특징을 자세히 살펴보겠습니다.1. lvalue(좌값)lvalue는 프로그램이 접근할 수 있는 실제 메모리 주소를 가지
C++에는 총 95개의 예약어(reserved words)가 있습니다. 이 예약어들은 성격에 따라 여러 그룹으로 나눌 수 있는데, 각 그룹의 유래를 이해하면 C++ 언어의 발전 과정을 한눈에 파악할 수 있습니다. C++ 예약어의 세 가지 그룹 1. C 언어에서 계승된 예약어 — 32개 첫 번째 그룹은 C 프로그래밍 언어에 이미 존재하던 키워드로, C++이 탄생하면서 그대로 이어받은 것들입니다. int, char, if, for, while, struct 등 C의 기본 문법을 구성하는 핵심 키워드들이 여기에 속합니다. 2. C+
C++에서 지역 변수(Local Variable)는 함수나 블록 내부에서 선언된 변수를 의미합니다. 지역 변수는 해당 변수가 선언된 함수 또는 코드 블록 내부의 문장에서만 사용할 수 있으며, 외부의 다른 함수에서는 접근하거나 참조할 수 없습니다.지역 변수의 주요 특징지역 변수는 다음과 같은 특징을 가집니다.- 선언 범위 제한: 변수가 선언된 함수나 블록 안에서만 유효합니다.- 외부 접근 불가: 다른 함수에서는 해당 변수의 존재 자체를 알 수 없습니다.- 자동 소멸: 함수 실행이 종료되면 지역 변수는 메모리에서 자동으로 해제됩니다.-
C++ 전역 변수(Global Variable)란?전역 변수는 모든 함수의 외부에서 정의되는 변수로, 일반적으로 프로그램의 최상단에 선언됩니다. 전역 변수는 프로그램이 시작되어 종료될 때까지, 즉 프로그램의 수명 전체 동안 자신의 값을 유지한다는 것이 가장 큰 특징입니다.또한 전역 변수는 어떤 함수에서든 접근할 수 있습니다. 즉, 한 번 선언된 전역 변수는 프로그램 내 어디서든 자유롭게 읽고 수정할 수 있습니다.지역 변수와의 차이점반면 함수 내부에서 선언되는 지역 변수(Local Variable)는 해당 함수가 호출될 때 생성되고,
프로그래밍에서 스코프(scope)란 변수가 유효한 프로그램 내의 영역을 의미합니다. 넓은 의미로 C++에서 변수는 크게 세 가지 위치에 선언할 수 있습니다.지역 변수(Local Variables) — 함수 또는 블록({ }) 내부에 선언된 변수형식 매개변수(Formal Parameters) — 함수의 매개변수 정의 부분에 선언된 변수전역 변수(Global Variables) — 모든 함수 외부에 선언된 변수지역 변수(Local Variables)지역 변수는 해당 변수가 선언된 함수나 코드 블록 내부의 문장에서만 사용할 수 있습니다.