힙 / 스택

2025. 3. 25. 18:41C++

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;
}

'C++' 카테고리의 다른 글

SSO  (0) 2025.03.26
소멸자(destructor)  (0) 2025.03.26
cin  (0) 2025.03.21
using  (0) 2025.03.21
limits  (0) 2025.03.21