용어 사전 coding 용어 페이지
스택 메모리
지역 변수와 함수 호출 정보가 자동으로 쌓였다가 사라지는 메모리 영역
핵심 아이디어
스택 메모리는 함수가 호출될 때 필요한 지역 변수와 실행 정보를 잠시 올려두는 공간입니다. 함수가 끝나면 그 함수가 쓰던 영역은 자동으로 정리되기 때문에, 짧게 살아 있는 값과 호출 흐름을 설명할 때 기준이 됩니다.
초보자가 자주 헷갈리는 지점은 "지역 변수의 주소를 밖으로 넘겨도 되는가"입니다. 스택 메모리에 놓인 값은 함수가 끝나면 수명이 끝나므로, 그 주소를 오래 들고 있으면 잘못된 메모리를 가리키게 됩니다. 이 점에서 힙 메모리와 성격이 크게 다릅니다.
이 블로그에서의 역할
Mathbong에서는 C의 지역 변수, 함수 호출, 배열의 기본 수명 감각을 설명할 때 스택 메모리를 기준으로 삼습니다. 이후 동적 메모리 할당 글에서 힙과 비교하고, 포인터 오류를 분석할 때도 "이 값이 스택에 있었는가"를 먼저 따져 보게 됩니다.