728x90
반응형

프로그램 메모리 영역 구분


1. 코드 영역 (Text Segment)

  • 프로그램의 실행 코드(명령어)가 저장되는 영역입니다.
  • 실행 중 읽기 전용 이며, 보통 수정할 수 없습니다.


2. 데이터 영역 (Data Segment)

  • 보통 '전역 메모리' 라고 하면 여기와 BSS(하단 참조)를 의미하는 경우가 많습니다.
  • 초기화된 전역 변수와 static 변수, vtable 등이 저장됩니다.
  • 프로그램 시작 시 초기값이 할당됩니다.


3. BSS 영역 (Block Started by Symbol)

  • 초기화되지 않은 전역 변수와 static 변수 가 저장됩니다.
  • 실행 시점에 0으로 초기화됩니다.


4. 힙 영역 (Heap)

  • 동적 할당(new, malloc)으로 할당된 메모리 공간입니다.
  • 프로그래머가 직접 관리하며, 명시적으로 해제(delete, free)해야 합니다.


5. 스택 영역 (Stack)

  • 함수 호출 시 생성되는 지역 변수, 매개변수, 리턴 주소 등 이 저장됩니다.
  • 함수 호출 시 할당되고 반환 시 자동으로 해제됩니다.


6. 리터럴/상수 영역 (읽기 전용 데이터 영역)

  • 문자열 리터럴이나 상수 등이 저장되는 읽기 전용 구역입니다.
  • 수정 불가능합니다.



  • 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄

728x90
반응형

+ Recent posts