[자료구조] 스택 (Stack)
·
Algorithm/DataStructure
Stack?C/C++에서 ‘스택’은 **호출 스택(Call stack)**을 의미하기도 하고, **LIFO 자료구조(Stack)**를 의미하기도 합니다. 이 글에서는 두 개를 구분해 설명한 뒤, 자료구조 Stack을 구현해 보겠습니다. 메모리의 영역의 Stack(스택)은 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸하게 됩니다. 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장됩니다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(Stack Frame)이라고 합니다.보통 스레드마다 일정 크기의 스택이 할당되며(환경에 따라 다름), 과도한 재귀..