동적 할당
2023. 4. 1. 16:49ㆍ프로그래밍/C++
정적 할당은 컴파일 시점에 결정되는 고정된 메모리 공간을 사용하는 것이고, 동적 할당은 실행 시점에 필요한 만큼 메모리 공간을 할당하는 것입니다. 동적 할당은 포인터를 사용하여 구현합니다.
동적 할당을 위해서는 malloc() 함수나 new 연산자를 사용합니다. 이 둘은 동일한 기능을 수행하지만, malloc()은 C언어에서, new는 C++에서 사용됩니다.
예시)
사용자가 입력한 크기에 따라 동적으로 배열을 할당하고, 배열에 저장된 값을 출력하는 예제입니다.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter the size of array: ";
cin >> n;
// 동적으로 배열 할당
int *arr = new int[n];
// 사용자 입력값으로 배열 초기화
for (int i = 0; i < n; i++) {
cout << "Enter element " << i+1 << ": ";
cin >> arr[i];
}
// 배열 출력
cout << "Array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 동적으로 할당한 메모리 반환
delete[] arr;
return 0;
}