본문 바로가기

C++

[C++] 정적 할당(Static Allocation) 및 동적 할당(Dynamic Allocation)

반응형

메모리 할당이란 임의의 메모리 공간을 제공하여 사용할 수 있도록 해준다. '정적 메모리 할당'과 '동적 메모리 할당'으로 구분할 수 있다.

 

 

정적 할당(Static Allocation)은 프로그램에서 고정적으로 지정되는 메모리 부분으로, 프로그램이 실행될 때 해당 메모리의 크기가 결정된다. 선언함과 동시에 메모리 크기가 결정되며, 프로그램 중간에 그 크기를 변경할 수 없다. 또한 프로그램이 종료되면 자동으로 소멸된다. 보통 변수 선언 등이 포함된다.

 

동적 할당(Dynamic Allocation)은 프로그램 실행 중간에 허용 범위 내에서 메모리 공간을 자유롭게 지정할 수 있다. 원하는 만큼 메모리 크기를 할당받을 수 있으며, 프로그램 중간에 크기 변경도 가능하다. 하지만 할당받은 공간을 다 사용하거나, 프로그램이 종료될 때 할당받은 메모리해제해 주어야 한다. malloc()-free(), new-delete 이 포함된다.

반응형