반응형

 

C 언어에서 대략 메모리 구조는 위와 같이 생겼다.

 

  • 코드 영역(Code)
    • 코드 영역은 실행할 프로그램의 코드가 저장되는 영역.
    • 텍스트 영역(Text)라고도 불림.
    • CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리.
  • 데이터 영역(Data)
    • 데이터 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장됨.
    • 데이터 영역은 프로그램의 시작과 함께 할당, 프로그램이 종료되면 소멸.
  • 스택 영역(Stack)
    • 스택 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역임.
    • 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸.
    • 스택 영역에 저장되는 함수의 호출 정보는 스택 프레임(Stack Frame)이라고함.
    • 스택 영역은 push 동작으로 데이터를 저장하고, pop 동작으로 데이터를 인출.
    • LIFO(Last In First Out) 방식이므로 가장 늦게 저장된 데이터가 가장 먼저 인출됨.
    • 스택 영역은 메모리의 높은 주소에서 낮은 주소의 방향으로 할당됨.
  • 힙 영역(Heap)
    • 메모리의 힙 영역은 사용자가 직접 관리할 수 있는 '그리고 해야만 하는' 메모리 영역.
    • 힙 영역은 사용자에 의해 메모리 공간이 동적으로 할당되고 해제됨.
    • 힙 영역은 메모리의 낮은 주소에서 높은 주소의 방향으로 할당됨.

추가 자료

스택 프레임(Stack Frame)이란? + 스택 오버플로우(Stack Overflow)

 

스택 프레임(Stack Frame)이란? + 스택 오버플로우(Stack Overflow)

C언어의 메모리 구조 C언어의 메모리 구조 C 언어에서 대략 메모리 구조는 위와 같이 생겼다. 코드 영역(Code) 코드 영역은 실행할 프로그램의 코드가 저장되는 영역. 텍스트 영역(Text)라고도 불림.

soopeach.tistory.com

메모리의 동적할당(C언어)

 

메모리의 동적할당(C언어)

C언어의 메모리 구조 C언어의 메모리 구조 C 언어에서 대략 메모리 구조는 위와 같이 생겼다. 코드 영역(Code) 코드 영역은 실행할 프로그램의 코드가 저장되는 영역. 텍스트 영역(Text)라고도 불림.

soopeach.tistory.com

 


출처

http://www.tcpschool.com/c/c_memory_structure

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기