프로그래밍 공부
작성일
2023. 4. 20. 00:57
작성자
WDmil
728x90

스택 프레임은 함수가 호출될 때 마다 새로운 메모리 블록이 할당되어 사용되며, 함수가 실행을 완료하고 반환하면,

해당 스택 프레임은 제거된다.

 

이러한 스택 프레임의 생성과 제거는 호출스택(Call Stack) 구조에 의해 관리된다.

 

스택 프레임에는 함수에서 선언된 지역변수, 매개변수, 복귀주소, 호출 스택 포인터(Caller Stack Pointer)

등이 저장된다.

 

함수에서 변수를 사용하거나, 매개변수를 전달할 때마다 스택포인터 가 이동하면서 해당 변수가 저장될 위치를 지정한다.

함수 실행이 완료되면, 스택 포인터가 원래 위치로 되돌아가며, 이전에 호출된 함수의 스택프레임이 반환될 준비를 한다.

 

즉, 스택 프레임(Stack Frame)은, 함수에서 선언된 지역변수, 매개변수, 복귀주소, 호출 스택 포인터가 저장되는 후입선출의 저장공간이다.

728x90