연습장

메모리 구조 본문

기타

메모리 구조

js0616 2024. 7. 27. 03:52

 

 

 

  • 코드(Code) 영역:
    • 프로그램의 명령어들이 위치하며, CPU가 실행할 명령어들의 메모리 주소가 지정됩니다.
    • 이 영역은 읽기 전용이며, 프로그램 실행 중 수정되지 않습니다.
  • 데이터(Data) 영역:
    • 데이터 영역은 초기화된 전역 변수와 정적 변수가 저장되는 영역입니다.
    • 프로그램이 시작될 때 할당되고 프로그램이 종료될 때 해제됩니다.
    • 초기화된 데이터는 처음에 명시적으로 초기화된 값을 가지며, 정적 변수는 초기화되지 않은 경우 기본적으로 0으로 초기화됩니다.
  • 힙(Heap) 영역:
    • 힙 영역은 프로그램 실행 중 동적으로 할당되는 메모리를 관리하는 영역입니다.
    • 프로그래머가 직접 메모리를 할당하고 해제할 수 있습니다 (예: malloc() 및 free() 함수 사용).
    • 힙은 메모리 할당이 자유롭고 크기가 유동적이며, 할당된 메모리는 프로그래머가 명시적으로 해제하지 않으면 사용된 상태로 남아 있습니다.
  • 스택(Stack) 영역:
    • 스택 영역은 함수 호출 및 지역 변수들이 저장되는 영역입니다.
    • 각 함수 호출 시 지역 변수들과 함수 호출에 필요한 정보들(리턴 주소, 함수 인자 등)이 스택 프레임(Stack Frame)에 순서대로 저장됩니다.
    • 함수 호출이 완료되면 해당 함수의 스택 프레임이 제거되어 지역 변수들이 메모리에서 해제됩니다.

 

https://velog.io/@seungho1216/CS-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B0

 

https://chatgpt.com/

 

'기타' 카테고리의 다른 글

콜백함수  (0) 2024.07.27
URI URL URN  (0) 2024.07.27
파싱 Parsing  (0) 2024.07.26
REST API  (0) 2024.07.26
프로세스와 스레드  (0) 2024.07.25