728x90
안녕하세요!
이번에는 C++ 언어를 사용하여 동적 메모리 할당을 다루는 예제를 살펴보겠습니다.
동적 메모리 할당은 프로그램 실행 중에 필요한 메모리를 동적으로 할당하고 해제하는 기능을 제공합니다.
예제 코드
#include <iostream>
using namespace std;
int main()
{
int size;
cout << "동적으로 할당할 배열의 크기를 입력하세요: ";
cin >> size;
int* arr = new int[size];
for (int i = 0; i < size; i++)
{
arr[i] = i + 1;
}
cout << "배열의 요소: ";
for (int i = 0; i < size; i++)
{
cout << arr[i] << " ";
}
delete[] arr;
return 0;
}
<코드 해석>
int size;
- 배열의 크기를 입력받을 변수를 선언합니다.
cout << "동적으로 할당할 배열의 크기를 입력하세요: ";
cin >> size;
- 사용자에게 배열의 크기를 입력하라는 메시지를 출력하고, 배열의 크기를 입력받습니다.
int* arr = new int[size];
- 사용자에게 입력받은 size 변수를 이용하여 동적으로 int형 배열을 할당합니다.
for (int i = 0; i < size; i++)
{
arr[i] = i + 1;
}
- 사용자가 입력한 사이즈만큼 배열의 요소에 1 ~ size까지의 값을 할당합니다.
for (int i = 0; i < size; i++)
{
cout << arr[i] << " ";
}
- 배열의 모든 요소와 사이공백을 출력합니다.
delete[] arr;
- 동적으로 할당한 메모리를 해제합니다.
동적할당 시 Heap메모리에 값이 할당되게 되며, 이를 해제하지 않을 시 메모리 누수(memory leak)라는 프로그램에 치명적인 오류를 발생시킬 수 있습니다.
메모리에 대한 자세한 내용은 아래 포스팅을 참고해 주세요.
[C++] 프로그래밍 기초 : 동적 할당과 메모리 누수
이번 예제를 통해 동적 메모리 할당을 다루는 방법을 알아보았습니다.
다음 글에서는 더 다양한 예제를 다루어보도록 하겠습니다.
감사합니다!
728x90
'[C++] > 콘솔 프로그래밍' 카테고리의 다른 글
[C++] 콘솔 프로그래밍: 클래스와 객체 (30) | 2023.06.09 |
---|---|
[C++] 콘솔 프로그래밍 : 함수 오버로딩 (38) | 2023.06.08 |
[C++] 콘솔 프로그래밍 : 구조체 활용하기 (4) | 2023.06.08 |
[C++] 콘솔 프로그래밍 : 숫자 맞추기 게임 (18) | 2023.06.07 |
[C++] 콘솔 프로그래밍 : 최대 공약수 구하기 (18) | 2023.06.07 |