| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Xcode
- android java
- xocde
- 안드로이드
- C언어
- Swift
- 보호와 보안
- BAEKJOON
- 준코딩
- swift baekjoon
- 플러터
- TextField
- label
- 링크드리스트
- storyboard
- FLUTTER
- Android Studio
- 백준
- Firebase
- 버블정렬
- 안드로이드스튜디오
- 예외처리
- Android
- deeplink
- customPopup
- text to speech
- 커스텀팝업
- 자바
- IOS
- 연결리스트
Archives
- Today
- Total
준코딩
스택 힙 데이터영역 본문
데이터 영역
-프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 소멸
(전역변수)

힙 영역
-동적 할당을 통해 생성된 동적 변수를 관리하기 위한 영역
-사용자가 직접 관리 해야만 하는 영역(컴파일 시기에 크기 알 수 없음)

스택 영역
-함수 내에 정의된 지역 변수가 저장되는 영역
(컴파일 하는 동안 결정)


Stack vs Heap 장단점
스택
-매우 빠른 액세스
-변수를 명시 적으로 할당 해제 할 필요가 없습니다.
-공간은 CPU에 의해 효율적으로 관리되고 메모리는 단편화되지 않습니다.
-지역 변수 만
-스택 크기 제한 (OS에 따라 다름)
-변수의 크기를 조정할 수 없습니다.
힙
-변수는 전역 적으로 액세스 할 수 있습니다.
-메모리 크기 제한 없음
-(상대적으로) 느린 액세스
-효율적인 공간 사용을 보장하지 못하면 메모리 블록이 할당 된 후 시간이 지남에 따라 메모리가 조각화되어 해제 될 수 있습니다.
-메모리를 직접 관리(변수를 할당하고 해제하는 책임이 있습니다)
-변수는 C언어 malloc() or 자바 new
'프로그래밍 > C언어' 카테고리의 다른 글
| 해시(선형 조사법) (0) | 2019.04.16 |
|---|---|
| 단일 연결리스트 예외처리 완성본 (0) | 2019.02.14 |
| c언어 연결리스트 예외처리 (0) | 2019.02.12 |
| C언어 연결리스트 (0) | 2019.01.28 |
| C언어 예외처리 버블정렬 (0) | 2019.01.09 |
Comments