안녕 세상아,

[C++/배열] 배열의 동적 할당, 동적 배열 본문

c++ 개념

[C++/배열] 배열의 동적 할당, 동적 배열

돈 많은 백수가 되고싶다 2024. 3. 29. 20:52

동적배열을 알아보기 전에 정적배열에 대해 간단하게 설명을 하면,

정적배열이란?

간단하게 말해 배열의 크기를 미리 설정하는 것이다.

프로그램 실행 시작 시 미리 정해놓은 배열의 크기만큼 기억공간이 할당된다.

int array[3]={0,1,2}; //배열 크기 미리 설정

 

그에 반해

동적배열이란?

배열의 길이를 고정하지 않고 유동적으로 변경할 수 있다.

크기 할당할 때 기억공간이 배정되고, 시작 주소를 기억한다.

이때, 메모리 누수 방지를 위해 기억공간을 해제해야 한다.

메모리를 할당하기 위해 new 연산자를 사용해야한다.

new 사용법:

타입* 변수명 = new 타입[크기];

int a;
cin>>a;

int* array=new int[a]; // 배열 형태 메모리 동적할당

for(int i=0; i<a; i++){  //배열에 값 할당
    cin>>array[i];
}

 

위의 코드에서와 같이 동적배열에 값을 할당하기 위해서는 반복문을 사용해주면 된다.

값을 할당하는 것은 정적배열과 동적배열 모두 동일하다. 하나씩 원하는 위치에 값을 할당해도 되고, 반복문을 사용하여 값을 입력 받아도 된다.