응애맘마조
메모리 구조 본문
프로그램을 실행하게 되면 메모리의 공간이 운영체제에 의해 미리 마련이 됩니다. 그래서 이 공간 내에 변수나 데이터 값, 또는 문자열이 선언됩니다.
메모리의 구성은 네 개의 영역으로 구분되고 다음과 같습니다.
구분되는 이유는 비슷한 데이터끼리 묶어서 저장을 하면 관리가 편하고 메모리의 접근 속도가 빨라지기 때문입니다.
코드 영역(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 |