22. c++ 메모리 동적할당

Yongs12 ㅣ 2023. 6. 13. 18:00

C++에서 메모리 동적 할당 및 할당 해제를 하기 위해서 C언어와 조금 다르게 new, delete를 사용 한다.
new 연산자는 객체 또는 객체 배열에 메모리를 할당하고 delete 연산자는 이전에 new에 의해 할당된 메모리를 해제 한다.

메모리 동적 할당 예시

// C++ 메모리 할당
// int(4Byte) 크기의 메모리를 할당
int* ptr = new int;
*ptr = 10;

// int크기의 메모리를 할당하면서 ()를 사용해 초기값을 줄 수 있다.
int* ptr2 = new int(10);

// 배열에 동적 메모리 할당
// int(4Byte) * 10 개의 메모리를 할당
int* arr = new int[10]


// new로 할당된 메모리를 할당 해제
delete ptr;
delete ptr2;

// 배열을 해제할 때는[]를 사용 한다.
delete[] arr;



동적할당 및 출력해보기

#include <iostream>

int main() {
    int n = 5;
    int* arr = new int[n];


    for (int i = 0; i < n; ++i) 
    {
        arr[i] = i + 1;
    }

  
    for (int i = 0; i < n; ++i) 
    {
        std::cout << arr[i] << " ";
    }
    
    std::cout << std::endl;
 
    delete[] arr;

    return 0;
}



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

24. 범위기반 for문  (0) 2023.06.15
23. 참조자  (0) 2023.06.14
21. auto 자료형  (0) 2023.06.12
20. namespace  (0) 2023.06.11
19. C++ 언어  (0) 2023.06.10