호빵의 IT 개발소

스택(Stack)이란? 본문

CS(전공지식)/기술면접 준비

스택(Stack)이란?

호빵Stack 2025. 3. 25. 20:51
스택(Stack) 영역이란
  • 함수 호출 시 생기는 지역변수, 매개변수, 반환 주소 등이 저장되는 메모리 영역
  • LIFO(후입선출) 구조
  • 함수 호출 시 자동으로 할당, 함수 종료 시 자동으로 해제
특징:
  • 속도 빠름
  • 크기가 제한적
  • 재귀 호출 많거나 지역 변수 크면 스택 오버플로우 위험
요약: 함수 실행 중 필요한 데이터들을 임시로 저장하는 고속 메모리 공간.

스택 영역은 용량 제한이 있어.
  • 운영체제마다 기본 크기 다름
    예: 리눅스에서 기본 1MB~8MB, 윈도우는 보통 1MB
  • 너무 많은 지역 변수 사용하거나 재귀 호출이 깊어지면 → 스택 오버플로우(Stack Overflow) 발생

요약: 스택은 속도는 빠르지만 용량이 제한적이기 때문에 사용 시 주의 필요.

 

 

면접 스타일 답변 예시:

스택은 LIFO(Last In First Out) 구조의 메모리 영역으로 함수 호출 시 지역 변수나 리턴 주소를 저장하는 데 사용됩니다.
함수가 호출되면 스택 프레임이 쌓이고 리턴되면 자동으로 정리되기 때문에 메모리 관리가 간편합니다.
다만 크기가 제한되어 있어서 너무 큰 배열을 선언하면 스택 오버플로우가 발생할 수 있습니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

스택(Stack) VS 힙(Heap)  (0) 2025.03.25
힙(Heap)이란?  (0) 2025.03.25
메모리 구조는 어떻게 되어있나?  (0) 2025.03.25
메모리 풀이란?  (0) 2025.03.25
객체지향이란?  (0) 2025.03.25
Comments