말감로그

24.09.02 Unity_C# - 힙과 스택 메모리 본문

TIL

24.09.02 Unity_C# - 힙과 스택 메모리

habbn 2024. 9. 2. 20:57
728x90

메모리 구조

 

프로그램을 실행시키면 운영체제는 실행한 프로그램을 위해서 메모리 공간을 할당해 주게 된다.

이때 할당되는 메모리 공간이 크게 스택, 힙, 데이터 영역으로 나누어지게 된다. 할당되는 장소는 메인 메모리(RAM)에 할당되며, 할당되는 용도는 프로그램 실행 시 필요한 메모리 공간을 지정하기 위해서 할당되게 된다.


데이터 영역

전역 변수 및  정적(static) 변수가 할당되는 영역으로, 프로그램이 종료될 때까지 메모리 상에 존재하게 된다.

 

스택 영역

지역 변수와 매개변수, 함수 호출 정보가 저장되는 영역으로, 함수 호출 시 할당되고 종료 시 해제된다.

속도가 빠르며 자동으로 관리되는 메모리 영역이다.

 

힙 영역

프로그래머에 의해 직접 관리되는 동적 메모리 영역이다.

명시적으로 할당(malloc, calloc, realloc 또는 new) 하고 해제(free, delete)해줘야 한다.

스택보다 크기가 유연하지만 관리가 어려워 메모리 누수같은 문제가 발생 할 수 있다.

 

 

https://helloworld-japan.tistory.com/33

728x90