목록스택 (2)
안 쓰던 블로그
스택 영역(스택 프레임) 프로그램 실행 중 만들어지는 지역변수나 매개변수가 쌓이는 메모리 공간 (참고: 메모리 구조 foxtrotin.tistory.com/312 ) 특징 리틀 엔디안 방식으로 저장되므로 하위 바이트부터 먼저 들어간다 스택 기본 구조 Buffer + sfp[4byte] + ret[4byte] 1) 버퍼는 데이터가 저장되는 공간이다 2) sfp는 스택 베이스값을 뜻한다 sfp는 스택 주소값을 계산할 때 현재 스택값의 기준을 잡을 때 필요한 프레임 포인터 값을 저장한다. 크기는 4바이트이다 sfp가 필요한 이유 ebp레지스터는 한 개이기 때문에 함수가 시작할 때마다 ebp값이 바뀌는데 그 전의 ebp값을 스택에다가 저장해야 하기 때문이다 3) ret 은 return의 약자로 반환 주소값을 뜻..
스택이란 ‘쌓아올린 더미’를 말합니다. 책을 쌓아서 탑을 만들면 스택이고, 편의점 냉장고에 캔음료수가 일렬로 줄 서 있는 것도 스택입니다. 이렇듯 스택은 마지막으로 들어온 것부터 나가는 특징을 가지고 있습니다. 책 탑에서 맨 아래 책을 빼면 무너지고, 편의점에서 음료수를 앞에서부터 빼지 못 하는 점을 생각하면 됩니다. 그런 현실의 개념을 추상화한 것이 바로 스택입니다. 스택을 가지고 주로 삽입, 삭제, 검색 작업을 하는데, 스택의 특징에 따라 가장 최근에 들어온 데이터를 빼고, 아니면 그 뒤에 새로운 데이터를 넣게 됩니다. 스택의 특징을 영어로는 LIFO(Last In First Out), 한자로는 후입선출이라 합니다. 여기서 중요한 건, 편의점의 캔음료를 중간에 있는 것부터 뺄 수 없듯 이 스택에서도 ..