힙 영역이 필요한 이유특정 데이터를 여러 함수에 걸쳐 사용해야 한다면?전역 변수는 모든 모듈에 노출되어 있는데, 모든 모듈에 노출하고 싶지 않을 때가 있음.이때, 프로그래머가 직접 관리하는 특정 메모리 영역에 저장해야 함.메모리 수명 주기에 프로그래머가 완전히 직접 제어할 수 있는 매우 큰 메모리 영역이 필요함.이를 바로 힙 영역이라고 함.malloc 메모리 할당자 직접 구현하기c/c++ 언어에서 메모리의 도적 할당과 해제 요청은 모두 전문적으로 힙 영역에 메모리를 할당하고 해제하는 작은 프로그램에 전달되어야 함.이 프로그램은 malloc 메모리 할당자임.메모리 할당자 입장에서 적절한 크기의 메모리 영역을 제공하기만 하면 됨.할당자는 그 메모리 영역에 무엇을 저장할지까지는 신경 쓰지 않음.힙 영역은 사실..
함수 호출 활동 추적 : 스택스택은 후입선출 순서의 데이터 구조임.이진 트리 탐색으로 볼 수 있음.트리 구조의 순회는 재귀 뿐만 아니라 스택으로도 사용 가능함.스택 프레임 & 스택 영역함수 실행 시, 작은 상자가 필요함.이 작은 상자를 스택 프레임, 호출 스택이라고 함.이 스택에는 함수 호출 정보가 필요함.함수 점프와 반환함수 A가 함수 B를 호출하면 제어권이 함수 A에서 함수 B로 옮겨짐.제어권이란 실제로 CPU가 어떤 함수에 속하는 기계 명령어를 실행하는지를 의미함.제어권이 이전될 때는 다음 두 가지 정보가 필요함.반환(return) : 어디에서 왔는지에 대한 정보함수 A의 기계 명령어가 어디까지 실행되었는지점프(jump) : 어디로 가는지에 대한 정보함수 B의 첫 번째 기계 명령어가 위치한 주소매개..