2026/06/08 3

동적할당

동적 할당 (Dynamic Allocation)동적 할당이란?프로그램 실행 중에 필요한 메모리를 직접 할당하는 것을 의미한다.동적으로 할당된 메모리는 힙(Heap) 영역에 저장되며,개발자가 직접 생성하고 해제해야 한다.메모리 할당int* p = new int;*p = 10;동작 순서힙 영역에 int 크기의 메모리 할당할당된 주소를 p에 저장해당 메모리에 10 저장메모리 해제delete p;p = nullptr;동작 순서힙 메모리 반환포인터는 더 이상 유효하지 않음nullptr로 초기화하는 것이 안전함배열 동적 할당int* arr = new int[5];위 코드는 int 5개를 저장할 수 있는 배열을 힙에 생성한다.배열 메모리 해제delete[] arr;arr = nullptr;배열은 반드시 delete[..

c++/기초 2026.06.08

const

const 정리1. const 기본 개념const는 값을 변경할 수 없게 만드는 키워드이다.const int a = 10;a = 20; // 오류읽기 전용 변수(상수)선언 후 값 변경 불가능2. const를 사용하는 이유값 변경 방지실수로 데이터를 수정하는 것을 막을 수 있다.코드 의도 명확화해당 값이 변경되면 안 된다는 것을 명확하게 표현할 수 있다.최적화 가능컴파일러가 추가 최적화를 수행할 수 있다.3. 포인터에서 const(1) 값이 constconst int* p = &a;또는int const* p = &a;의미포인터가 가리키는 값 변경 불가포인터 주소 변경 가능*p = 20; // 오류p = &b; // 가능(2) 포인터 자체가 constint* const p = &a;의미포인터 주소 변경 불..

c++/기초 2026.06.08

값 타입과 참조타입

값 타입(Value Type)과 참조 타입(Reference Type)데이터를 다루는 방식은 크게 값을 직접 저장하는 방식과 어딘가에 있는 데이터를 참조하는 방식으로 나눌 수 있다.값 타입 (Value Type)데이터 자체를 직접 저장하는 타입이다.변수를 복사하면 데이터도 함께 복사된다.예시int a = 10;int b = a;메모리a = 10b = 10b는 a의 값을 복사하여 별도의 데이터를 가진다.값 변경int a = 10;int b = a;b = 100;결과a = 10b = 100원본은 변경되지 않는다.메모리 구조┌──────┐│ a=10 │└──────┘┌──────┐│ b=10 │└──────┘서로 다른 메모리를 가진다.대표적인 값 타입charshortintlonglong longfloatdou..

c++/기초 2026.06.08