Stack & heap 5

Programming 2010. 7. 7. 12:16
from: http://cafe.naver.com/javacs.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=28

3.stack과 heap의 차이점 (heap도 자료주고의 heap정렬로 생각했는데 잘..흠)

가장 큰 차이는 stack은 LIFO의 형태이다. Heap은 그냥 메모리 공간이다. stack은 주로 작업할때 데이터를 임시 저장하는 용도로 사용한다. 함수내부의 local변수들은 stack을 이용한다. 함수가 호출되면 stack에 함수 반환시 돌아올 주소영역을 저장하고, 함수에서 쓸 local변수들 크기만큼 할당을 받는다. 다시말해서 local 변수들은 stack을 이용하는 것이다.  함수가 반환되면 이 stack영역은 자동으로 삭제가 된다. 

heap은 주로 프로그램 시작시 할당할 크기를 결정할 수 없고 동적으로 할당해야 할 필요가 있을 때를 위한 메모리 영역으로써 사용자가 직접 할당하고 해제해 주어야 하는 메모리 영역이다.

 


Posted by 세모아
,