본문 바로가기
C

[C언어] 스택 메모리 구조, LIFO, FIFO - 코드 119

by 박사과정 모닝 2023. 1. 10.
반응형
스택 메모리 구조

LIFO(후입 선출)

FIFO(선입 선출)

 

1. 스택 메모리 구조

  • 스택(Stack): 컴퓨터에서 사용하는 메모리의 기본 구조 중 하나. 메모리에 먼저 삽입된 데이터가 가장 나중에 삭제되는 후입 선출(LIFO) 구조.
  • 스택은 제한된 용량을 가지도록 구현되기 때문에, 스택이 가득 찼을 때 삽입 연산으로 새로운 요소를 추가하면 오버플로우 상태가 됨.
  • 제거 연산이 스택의 맨 위 요소를 제거하면 그 아래에 있던 요소가 맨 위로 이동함.
  • 스택 메모리가 비어 있는 상태가 되면, 언더플로우 상태가 됨.
  • A 함수를 호출하여 사용할 때, A 함수가 B 함수를 포함하고, B 함수 내부에 C 함수가 포함되어 있다면 메모리에 입력된 순서는 A-B-C겠지만, 호출되어 실행되고 사라지는 순서는 C-B-A임.

 

2. LIFO(후입 선출)

  • LIFO: Last In, First Out
  • 데이터가 1,2,3,4,5의 순서로 입력되었다면 5,4,3,2,1의 순서로 실행됨. 들어온 순서의 반대 순서대로 나감.
  • 예시: 과자를 순서대로 쌓아두고, 맨 위에 쌓아둔 과자부터(위쪽이 과자부터) 먹는 것과 같음.

 

3. FIFO(선입 선출)

  • FIFO: First In, First Out
  • 데이터가 1,2,3,4,5의 순서로 입력되었다면 1,2,3,4,5의 순서로 실행됨. 들어온 순서대로 나감.
  • 예시: 화장실에서 한줄서기를 할 때, 먼저 줄을 선 사람이 먼저 들어가는 것과 같음.
반응형