C++

힙 / 스택

성-민 2025. 3. 25. 18:41

1. 힙 메모리 사용

프로그램 실행 중에 동적으로 메모리를 할당.

new 연산자를 사용하여 할당, delete 연산자를 사용하여 해제.

크기 제한이 거의 없지만, 메모리를 수동으로 관리해야 하므로 메모리 누수에 주의.

#include <iostream>

void exampleHeapUsage() {
    int* heapVar = new int;
    *heapVar = 20;

    std::cout << "Heap variable: " << *heapVar << std::endl;

    delete heapVar;
}

int main() {
    exampleHeapUsage();
    return 0;
}

2. 스택 메모리 사용

함수 호출 시 자동으로 할당, 함수가 끝날 때 자동으로 해제.

비교적 빠르게 할당되고 해제, 메모리 크기 제한이 상대적으로 적다.

크기가 큰 데이터나 동적 할당이 필요한 경우에는 적합하지 않다.

#include <iostream>

void exampleFunction() {
    int stackVar = 10;
    std::cout << "Stack variable: " << stackVar << std::endl;
}

int main() {
    exampleFunction();
    return 0;
}