Programming/기초

[프로그래밍] 메모리의 할당 과정

MOONCO 2022. 5. 26. 16:04

 

1. os가 프로그램에게 메모리를 할당한다.

 

2. 컴퓨터가 실행할 코드를, 메모리의 코드영역에 저장한다.

 

( C언어를 기준으로 설명 )

변수 선언 - 메모리를 할당하는 것

전역변수 - 프로그램 전체 내에서 사용할 수 있는 변수

지역변수 - 프로그램 블록{} 내에서 사용할 수 있는 변수

 

블록외부에 선언된 변수는, 데이터 영역에 저장되며, 프로그램 종료시에 지워진다.

 

블록안에 선언된 변수는, 스택영역에 저장되며, 블록 내부에서만 사용할 수 있다. 

이때, 블록 내부에서 선언된 변수를 지역변수라고 부른다.

 

지역변수는 함수가 종료되면(리턴), 메모리의 스택영역에서 지워진다.  ( 스택이 함수 호출전으로 돌아감 )

 

static 변수는 데이터 영역에 저장므로, 지역변수로 선언 되더라도 없어지지 않는다.

 

사용자가 직접 메모리를 할당할 수 있는데, 이때는 힙 영역의 메모리가 할당된다.

 

 

 

 

반응형