<keyword>
메모리 영역, stack, heap, data, 프로그래밍 메모리
예전에 c언어 관련 책을 처음 볼 때 접했던 내용인데, 겸사겸사 메모
처음 접하는 입장에서는 메모리 공간의 분류(?) 정도로 생각하면 어떨까?
1. stack
함수 호출시 생성되는 지역변수와 매개변수가 저장되는 영역
함수 호출이 완료되면 사라진다.
단, 스택 영역에 할당되는 메모리의 크기는 컴파일하는 시점에 결정된다.
2. heap
동적으로 할당되는 경우에는 heap에 자리 잡는다.
예를 들어 C/C++에서는 malloc이라던가, new라던가..
stack과 가장 큰 차이는 stack은 컴파일하는 시점에 결정되고, heap은 런타임 때 결정된다.
동적 할당이라는 말과 어울린다랄까..
3. data
전역 변수와 static 변수가 할당되는 영역이다.
프로그램의 시작과 동시에 할당되고, 프로그램 종료시 메모리에서 소멸된다.
댓글 없음:
댓글 쓰기