1. os가 프로그램에게 메모리를 할당한다.
2. 컴퓨터가 실행할 코드를, 메모리의 코드영역에 저장한다.
( C언어를 기준으로 설명 )
변수 선언 - 메모리를 할당하는 것
전역변수 - 프로그램 전체 내에서 사용할 수 있는 변수
지역변수 - 프로그램 블록{} 내에서 사용할 수 있는 변수
블록외부에 선언된 변수는, 데이터 영역에 저장되며, 프로그램 종료시에 지워진다.
블록안에 선언된 변수는, 스택영역에 저장되며, 블록 내부에서만 사용할 수 있다.
이때, 블록 내부에서 선언된 변수를 지역변수라고 부른다.
지역변수는 함수가 종료되면(리턴), 메모리의 스택영역에서 지워진다. ( 스택이 함수 호출전으로 돌아감 )
static 변수는 데이터 영역에 저장므로, 지역변수로 선언 되더라도 없어지지 않는다.
사용자가 직접 메모리를 할당할 수 있는데, 이때는 힙 영역의 메모리가 할당된다.
반응형