동적할당이 사용자가 Heap 메모리를 직접 컨트롤하죠? 선언도 알아서 해줘야하고 해제도 알아서 해줘야 하고 말입니다.
나머지는 유추해 보시기 바랍니다.
www.winapi.co.kr <<=------여기 한번 가 보시기 바랍니다. 설명 정말 잘 되어 있습니다.
2006.06.12 12:40:13 (*.6.121.187)
정희철
제가 예전에 정리해서 올린 "stl 기초 정리"란 내용에서 가져왔습니다.
메모리는 총5개의 영역으로 나뉘어져 있습니다.
첫 번째로 전역 명칭 영역이 입니다.
전역 명칭 영역은 전역 변수들이 저장되어 있는 곳입니다.
두 번째로 스택이 있습니다.
스택에는 지역 변수와 함수 매개 변수들이 있는 곳입니다.
세 번째로 레지스터가 있습니다.
명령 포인터와 스택의 상단 위치 기록 등의 내부 관리 기능을 하고 있는 곳입니다.
네 번째로 코드영역이 있습니다.
말 그대로 소스 코드의 각 행들이 일련의 명령어로 바뀌어 있는 곳입니다.
다섯 번째로 자유 저장 영역(힙)이 있습니다.
1,2,3,4 영역을 제외한 모든 메모리로 제일 큰 크기를 자랑합니다.
포인터를 사용한다는 것은 가장 큰 메모리 영역을 사용할 수 있다는 얘기입니다.
메모리 얘기는 대충 정리하고 포인터가 있어야 하는 이유를 설명해 보겠습니다.
포인터가 있어야 하는 이유는 지역변수와 전역변수의 문제점을 보완하기 위해서입니다.
지역 변수의 문제는 그 변수가 지속되지 않는다는 것입니다.(함수가 리턴될 때 스택에서 폐기됩니다.)
전역 변수는 프로그램 전체를 통해서 무제한 접근할 수 있지만
프로그램이 비대해지면 이해하고 관리하기 어려운 코드가 생길 수 있습니다.
이러한 문제점들을 자유 저장 영역(heap)에 데이터를 둠으로써 해결할 수 있게 한 것입니다.
Stack은 컴퓨터 지가 알아서 처리해줘요...ㅡㅡ..너무 성의 없나?;;;;