7. new 와 delete(동적 배열)이 궁금해.
2021. 11. 24. 20:40ㆍc++/기초
우리는 동적 배열을 만들 필요성을 이따금씩 느낀다.
이때 new와 delete를 활용할 수 있다.
항상 배열의 길이가 정해져 있는 것이 아니기 때문이다. 사용자의 입력에 따라서 길이가 변하는 배열을 만들어 보자.
int main()
{
int arr_size;
cin >> arr_size;
int *list = new int[arr_size]; // 메모리를 할당 받는다!
for (int i = 0; i < arr_size; i++) {
cin >> list[i];
}
for (int i = 0; i < arr_size; i++) {
cout << list[i];
}
delete [] list; //다시 할당 되었던 메모리를 운영체제에게 돌려준다
return 0;
}
결과는 이렇다

우선 5를 입력을 받고
배열 요소의 값을 하나 하나 입력해준다.
int형 포인트에다가 new (새로 메모리를 할당한다는 것을 의미함.) 와 우리가 원하는 크기의 배열의 주소를 할당시켜준다.
new를 사용했으면 꼭 delete로 운영체제에게 돌려주자 (배열일 경우 delete [] 로 해제해준다)
그러면 이 list는 하나의 배열로써 자유롭게 사용할 수 있다.
반응형
'c++ > 기초' 카테고리의 다른 글
| 9. 오버로딩(Overloading)이 궁금해!! (0) | 2021.11.24 |
|---|---|
| 8. 클래스(Class)에 대해서 궁금해! (0) | 2021.11.24 |
| 6. 포인터, 참조자 (reference)가 궁금해 (0) | 2021.11.24 |
| 5. 전처리기, 매크로(#define)가 궁금해 (0) | 2021.11.24 |
| 4. 네임스페이스(name space)가 궁금해 (0) | 2021.11.24 |