티스토리 뷰

메모리 저장 구조

 

 

메모리 할당

 

* 정적 할당

- 메모리의 크기가 하드 코딩(하드 코딩 : 데이터를 코드 내부에 직접 입력하는 것)되어 실행하는 순간 정적으로 할당

- 프로그램이 실행 될 때 이미 해당 메모리의 크기가 결정됨(컴파일 시)

- 프로그램이 종료할 때 알아서 운영체제가 회수

- 장점 : 해제하지 않음으로 인한 메모리 누수문제를 신경쓰지 않아도 됨

- 단점 : 스택에 할당된 메모리이므로 할당 받을 수 있는 최대 메모리에 제약이 있다.

 

 

* 동적 할당

- 실행 시간 동안 사용할 메모리 공간을 할당하는 것

- 사용 후 운영체제에 반납, 재할당 가능

- 힙 영역에서 할당

- 프로세스가 동작중일 때 명시적으로 해제하거나 또는 GC에 의해 해제됨(그전까지 그대로 유지), C++에는 GC가 없기 때문에 해제해줄 필요가 있음

- 장점 : 원하는 크기만큼 메모리를 할당할 수 있으며, 할당된 메모리는 크기 조절이 가능하다.

- 단점 : 명시적으로 메모리를 해제해 주어야 함

 

 

변수사용에 따른 메모리 효율

- 전역 변수는 프로그램 시작부터 종료까지 메모리 공간을 계속 유지하므로 비효율적이다. 

- 즉, 되도록 전역 변수의 사용을 줄이는 것이 좋다.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함