반응형

2

스택(Stack)영역과 힙(Heap)영역의 차이점은?

컴퓨터 과학에서 스택(Stack)영역과 힙(Heap) 영역은 프로그램 데이터를 관리하는 데 사용되는 두 가지 중요한 메모리 영역입니다. 스택(Stack)영역과 힙(Heap) 영역의 주요 차이점은 프로그램에서 할당하고 사용하는 방식에 있습니다. 1. 스택(Stack) 스택은 단일 함수 또는 코드 블록 내에서 선언되고 사용되는 변수와 데이터 구조를 저장하는 데 사용되는 메모리 영역입니다. 함수가 호출되면 함수 내에서 선언된 변수가 선입선출 후입선출(LIFO) 순서로 스택에 푸시됩니다. 함수가 반환되면 스택이 팝되고 메모리가 해제됩니다. 스택은 일반적으로 함수 호출과 로컬 변수를 관리하는 데 사용됩니다. 스택은 시스템에 의해 자동으로 관리되므로 프로그래머가 스택에 메모리를 수동으로 할당하거나 해제할 필요가 없..

공부/CS 2023.03.28

힙(heap)이란 무엇인가?

1. 힙이란? 힙은 동적 메모리 할당에 사용되는 프로세스의 메모리 영역입니다. 크기가 고정되어 함수 호출 및 함수 실행에 사용되는 스택과 달리 힙은 크기가 가변적이며 프로그램 실행 중에 동적으로 메모리를 할당하는 데 사용됩니다. 프로그램이 메모리를 동적으로 할당해야 하는 경우 C의 malloc 또는 C++의 new와 같은 메모리 할당 함수를 호출합니다. 메모리 할당 함수는 힙에서 사용되지 않는 메모리의 연속 블록을 찾고 블록 시작에 대한 포인터를 반환합니다. 그런 다음 프로그램은 개체, 배열 또는 동적으로 할당된 데이터 구조와 같은 데이터를 저장하기 위해 메모리를 사용할 수 있습니다. 힙은 운영 체제의 메모리 관리자가 관리하며 프로그램에서 필요에 따라 크기를 늘리거나 줄일 수 있습니다. 이를 통해 프로그..

공부/자료구조 2023.02.05
반응형