-
[C++] 동적할당에 대해 알아보자c++ 2024. 2. 20. 22:36
동적할당이란?
데이터 영역과 스택 영역에 할당되는 메모리의 크기는 컴파일 타임에 미리 결정된다.
하지만 힙 영역의 경우에는 프로그램 실행 도중에(런 타임) 결정된다.
런 타임 도중에 메모리 할당 받는 것을 동적할당 이라고 한다.
예제
#include<iostream> using namespace std; int main() { int n; cout << "n: "; cin >> n; int* arr = nullptr; if (n == 10) { arr = new int[n]; } if (arr != nullptr) { delete [] arr; } return 0; }
위 예제를 보면 n에 10라는 값이 들어가면 런 타임 도중에 메모리를 할당하고 10이 나오지 않으면 메모리를 할당하지도 않는다.
이처럼 C/C++은 메모리 관리에 유리해서 메모리 관리가 중요한 개발에 사용하기 좋은 것 같다.