컴파일러와 인터프리터

메모리

2.2) 메모리

우리가 이상의 고급 언어를 사용할 때는 변수가 정의되는 위치를 별도로 고려하지 않는다당연한 말이지만 이는 원래부터 그렇게 프로그래밍이 가능했던 것이 아니다메모리는 바이트의 집합이고 변수를 사용하려면 빈 바이트를 찾아서 정의하려는 변수의 크기만큼을 메모리에서 확보하는 작업을 거쳐야 한다이에 대해 자세히 알아보자.

프로그램을 실행하면 해당 프로그램을 위한 메모리 공간을 운영체제가 마련해준다프로그램 내부의 지역 변수,전역 변수문자열 상수와 같은 데이터는 모두 이 메모리 공간 내에서 정의되고 사용된다이 메모리 공간은 크게 네 가지의 영역으로 구분할 수 있는데 각각 다음과 같다.

코드 영역(code area): 실행할 프로그램의 기계어 명령이 올라오는 메모리 영역이다.

데이터 영역(data area): 정적 변수 및 전역 변수문자열 상수 등 프로그램 실행 시에 정의되고 프로그램이 종료될 때 해제되는 데이터를 저장하는 영역이다.

힙 영역(heap area): 동적 할당한 데이터를 저장하는 영역이다.

스택 영역(stack area): 지역 변수 등 임시적으로 사용되는 데이터를 저장하는 영역이다.

이 정도로 다음 내용을 진행하기 위한 상식들을 정리할 수 있었다.

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기