프로그램이 실행되기 위해서는 메모리에 로드되어야 한다.
메모리에 로드됨은 프로그램을 실행되어 지기 위해 메모리에 공간을 할당하는 것을 뜻한다.
프로그램이 운영체제로부터 할당 받는 메모리에는 대표적인 공간은 4가지이다.
1. 코드영역
실행할 프로그램의 코드가 저장되는 곳으로 텍스트영역이라고도 불림.
cpu는 코드영역에 저장된 코드를 하나씩 가져가 처리한다.
2. 데이터 영역
데이터의 전역변수와 정적(static)변수가 저장되는 곳
프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸된다(라이프타임)
*전역변수
함수 외부에 선언되어 프로그램 전체영역 어디에서도 접근이 가능
*정적(static)변수
함수 내부에 선언되어 함수 내부에서만 접근이 가능하다.
->정적변수가 전역변수보다 안정적이다.
3. 스택영역
함수의 호출과 관계된 지역 변수와 매개변수가 저장되는 영역
스택에 저장되는 함수호출 정보를 스택 프레임으로 불림
메모리의 높은 주소에서 낮은 주소로 할당된다
프로그램이 자동으로 사용하는 임시 메모리 영역
컴파일 시에 크기가 결정
4. 힙영역
메모리의 힙(heap) 영역은 사용자가 직접 관리할 수 있는 '그리고 해야만 하는' 메모리 영역
힙 영역은 사용자에 의해 메모리 공간이 동적으로 할당되고 해제됩니다.
힙 영역은 메모리의 낮은 주소에서 높은 주소의 방향으로 할당됩니다.
근데 이해 잘안댐..