일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- android java
- 준코딩
- Xcode
- 커스텀팝업
- Android
- 연결리스트
- 플러터
- 버블정렬
- BAEKJOON
- TextField
- storyboard
- customPopup
- C언어
- xocde
- 자바
- Swift
- 예외처리
- text to speech
- label
- Android Studio
- deeplink
- IOS
- 링크드리스트
- Firebase
- FLUTTER
- 안드로이드
- 백준
- 보호와 보안
- 안드로이드스튜디오
- swift baekjoon
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