>일반적인 문제 >스택이 무엇인지 이해하는 방법

스택이 무엇인지 이해하는 방법

coldplay.xixi
coldplay.xixi원래의
2021-03-24 15:36:5920987검색

스택은 데이터 항목이 순서대로 배열된 데이터 구조입니다. 데이터 항목은 한쪽 끝(스택의 상단이라고 함)에서만 삽입 및 삭제할 수 있습니다. 마이크로 컨트롤러 애플리케이션에서 스택은 주로 특수 저장 영역입니다. 이 기능은 데이터와 주소를 임시로 저장하는 기능으로, 일반적으로 중단점과 장면을 보호하는 데 사용됩니다.

스택이 무엇인지 이해하는 방법

이 문서의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

Stack은 특정 저장 영역 또는 레지스터로, 한쪽 끝은 고정되고 다른 쪽 끝은 플로팅됩니다[1] . 힙 저장 영역에 저장되는 데이터는 특별한 데이터 구조입니다. 모든 데이터는 플로트의 한쪽 끝(스택 상단이라고 함)에서만 보관하거나 꺼낼 수 있습니다. 액세스는 "선입, 후출" 원칙을 엄격히 준수합니다. 스택의 위쪽 부분(스택에 마지막으로 들어간 사람) 요소는 하나씩 제거된 후에만 제거될 수 있습니다. 내부 메모리(Random Access Memory)의 영역을 스택으로 여는 것을 소프트웨어 스택이라고 하며, 레지스터로 구성된 스택을 하드웨어 스택이라고 합니다.

마이크로 컨트롤러 애플리케이션에서 스택은 RAM 공간의 일부이며 함수 호출 및 인터럽트 전환 중에 현장 데이터를 저장하고 복원하는 데 사용됩니다. 스택에 있는 개체에는 특성이 있습니다. 즉, 스택에 처음으로 넣은 개체가 항상 마지막에 제거됩니다. 이 특성을 일반적으로 FILO(선입/마지막 아웃)라고 합니다. 스택에는 여러 작업이 정의되어 있으며 가장 중요한 두 가지 작업은 PUSH와 POP입니다. PUSH 작업: 스택 포인터(SP)를 1만큼 늘린 다음 스택 맨 위에 요소를 추가합니다. POP(팝) 동작은 그 반대이다. 스택에서 팝핑할 때 SP가 가리키는 내부 램 유닛의 내용을 먼저 직접 주소(대상 위치)로 주소가 지정된 유닛으로 보낸 다음 스택 포인터(SP)를 보낸다. )은 1씩 감소합니다. 이 두 작업은 데이터 항목의 삽입 및 삭제를 구현합니다.

프로그래밍 학습에 대해 더 자세히 알고 싶다면 php training 칼럼을 주목해주세요!

위 내용은 스택이 무엇인지 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.