준코딩

스택 힙 데이터영역 본문

프로그래밍/C언어

스택 힙 데이터영역

Ljunhyeob - App Dev 2019. 4. 9. 10:01

데이터 영역

-프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 소멸

(전역변수)

영역

-동적 할당을 통해 생성된 동적 변수를 관리하기 위한 영역

-사용자가 직접 관리 해야만 하는 영역(컴파일 시기에 크기 알 수 없음)

스택 영역

-함수 내에 정의된 지역 변수가 저장되는 영역

(컴파일 하는 동안 결정)

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