응애맘마조

메모리 구조 본문

공부/개인

메모리 구조

TH.Wert 2023. 3. 23. 16:26

프로그램을 실행하게 되면 메모리의 공간이 운영체제에 의해 미리 마련이 됩니다. 그래서 이 공간 내에 변수나 데이터 값, 또는 문자열이 선언됩니다.

 

메모리의 구성은 네 개의 영역으로 구분되고 다음과 같습니다.

구분되는 이유는 비슷한 데이터끼리 묶어서 저장을 하면 관리가 편하고 메모리의 접근 속도가 빨라지기 때문입니다.

 

코드 영역(Code Area)

실행할 프로그램의 코드가 입력되는 영역입니다. CPU가 이 영역에 접근해서 저장된 명령문을 하나씩 가져가서 실행을 합니다. (Visual Studio에서는 행에 F9를 누르고 실행을 하면 한 줄씩 실행하는데 이와 비슷하게 볼 수 있습니다.)

 

데이터 영역(Data Area)

전역변수와 static으로 선언되는 변수들이 할당됩니다. 이 영역의 변수들은 프로그램 시작과 동시에 메모리 공간에 할당이 되어 프로그램 종료 시까지 남아있게 됩니다. static에 대한 설명은 밑의 게시글을 참조해주시면 됩니다.

https://keisukeaso.tistory.com/124

 

힙 영역(Heap Area)

프로그래머가 원하는 시점에서 생성과 소멸할 수 있도록 해줍니다. 동적 할당이 이 영역에 할당됩니다.

동적 할당에 대해서는 밑의 게시글을 참고하시면 됩니다.

https://keisukeaso.tistory.com/121

 

스택 영역(Stack Area)

지역변수와 매개변수가 할당됩니다. 데이터 영역과는 다르게 함수를 빠져나가면 소멸되는 특징이 있습니다.

 

읽어주셔서 감사합니다.

'공부 > 개인' 카테고리의 다른 글

static  (0) 2023.03.28
지역변수와 동적할당을 각각 스택과 힙에 할당하는 이유  (0) 2023.03.27
동적할당(Dynamic Allocation)  (0) 2023.03.08
전역변수(Global Variable)  (0) 2023.03.07
지역변수(Local Variable)  (0) 2023.03.06