티스토리 뷰
메모리 저장 구조
메모리 할당
* 정적 할당
- 메모리의 크기가 하드 코딩(하드 코딩 : 데이터를 코드 내부에 직접 입력하는 것)되어 실행하는 순간 정적으로 할당
- 프로그램이 실행 될 때 이미 해당 메모리의 크기가 결정됨(컴파일 시)
- 프로그램이 종료할 때 알아서 운영체제가 회수
- 장점 : 해제하지 않음으로 인한 메모리 누수문제를 신경쓰지 않아도 됨
- 단점 : 스택에 할당된 메모리이므로 할당 받을 수 있는 최대 메모리에 제약이 있다.
* 동적 할당
- 실행 시간 동안 사용할 메모리 공간을 할당하는 것
- 사용 후 운영체제에 반납, 재할당 가능
- 힙 영역에서 할당
- 프로세스가 동작중일 때 명시적으로 해제하거나 또는 GC에 의해 해제됨(그전까지 그대로 유지), C++에는 GC가 없기 때문에 해제해줄 필요가 있음
- 장점 : 원하는 크기만큼 메모리를 할당할 수 있으며, 할당된 메모리는 크기 조절이 가능하다.
- 단점 : 명시적으로 메모리를 해제해 주어야 함
변수사용에 따른 메모리 효율
- 전역 변수는 프로그램 시작부터 종료까지 메모리 공간을 계속 유지하므로 비효율적이다.
- 즉, 되도록 전역 변수의 사용을 줄이는 것이 좋다.
'자료구조' 카테고리의 다른 글
[자료구조] HashTable 구현 (0) | 2020.01.06 |
---|---|
[자료구조] LRU Cache 알고리즘 (0) | 2020.01.02 |
[자료구조] Array VS LinkedList (0) | 2019.12.17 |
[알고리즘] 우선순위 (0) | 2019.10.28 |
[AJ/BFS] 너비 우선 탐색(BFS : Breadth First Search) (0) | 2019.10.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 농협정보시스템IT
- 4-way-handshake
- MLQ
- 백트래킹
- hashtable
- 사회망서비스
- Objective function
- algorithm
- loss function
- 프로세스 스케줄링
- Process Scheduling
- binarySearch
- 백 트래킹
- programmers
- MFQ
- 알고리즘
- 3-way-handshake
- DFS
- SRTN
- Android
- N-Queen
- 자료구조
- SWExpert
- 프로그래머스
- hash
- 기능개발
- 네트워크
- git
- 우선순위큐
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함