ABOUT ME

-

  • 메모리 영역 (code, data, bss, heap, stack)
    Develpment/C 2020. 9. 13. 21:24

    1. 메모리 영역

     주소

     영역

     내용

     메모리 할당 시기

     0x0000

    (Low Address)

    code(text)

     * 코드, 함수, 제어문 등 실행할 프로그램의 코드가 저장되는 영역

     * Compile Time Memory 할당

     * 크기 고정

     

     data

     data

     * 초기값이 있는 전역변수, static 변수, 정적 배열, 정적 구조체 등 저장

     bss

    (Block Started by Symbel)

     * 전역으로 선언된 초기화 되지 않은 데이터 영역

     heap

     * 동적 할당 객체에 대한 영역

     * High Address 방향으로 추가 할당

     * Run Time Memory 할당

     * 가변적 크기

     자유영역

     * Heap Overflow : heap 영역이 증가하여 stack 영역을 침범

     * Stack Overflow : stack 영역이 증가하여 heap 영역을 침범

     0xFFFF

    (High Address)

     stack

     * 지역변수, 매개변수, 리턴 값 등 임시로 사용하는 것들에 대한 영역

     * 매개 변수와 리턴값은 함수 호출 시 생성, 함수 수행 종료시 반환

     * Low Address 방향으로 추가 할당



    2. 속도


    Stack > Data > Code > Heap

    'Develpment > C' 카테고리의 다른 글

    printf 와 scanf 함수에 대한 고찰  (0) 2020.09.13
    상수와 기본 자료형  (0) 2020.09.13
    데이터 표현 방식의 이해  (0) 2020.09.13
    변수  (0) 2020.09.13

    댓글

Designed by Tistory.