2-1장 기본 자료구조 - 배열 : 메모리구조 (2/10)

 

 해당 내용은 Do it! 자료구조와 함께 배우는 알고리즘 입문 C 언어 편 (전면 개정판)을 기반으로 작성되었습니다.


2-1장 기본 자료구조 - 배열 : 메모리구조 (2/10)

C 언어의 메모리 구조  / 영역 : data, stack, heap

- 운영체제는 프로그램이 사용할 메모리 영역을 할당한다.

- C언어에서 할당하는 메모리 영역 총 3가지 (data, stack, heap)

할당 시기 : 프로그램이 실행될 떄마다 할당
할당 장소 : 메인 메모리 (RAM)
할당 용도 : 프로그램 실행에 필요한 메모리 영역 (지역 변수, 전역 변수 선언을 위해) 할당

데이터(data)영역

- 전역 변수와 정적(static)변수가 할당되는 영역

- 프로그램을 시작하면 할당하고, 프로그램을 종료하면 메모리에서 해제함

스택(stack)영역

- 함수 호출 시, 생성되는 지역 변수와 매개변수의 주소가 저장되는 영역

- 함수 호출이 완료되면 사라짐

힙(heap)영역

- 필요에 따라 동적으로 메모리 할당

- 프로그램이 실행되는 동안 메모리 영역의 크기를 결정해야하는 경우에 사용