동적배열

c언어에서의 변수로 공간을 할당하기 위한 '함수' malloc 과 free 를 대신하여 c++에서는 공간 할당하기 위한 '연산자' new와 공간해제를 위한 delete 가 사용된다.

new

정의-1 길이로 초기화

<자료형>* 변수명1;
변수명1= new int [원하는 길이의 변수명];-->길이가 원하는길이의 변수명만큼의 길이로 정해짐

정의-2 값으로 초기화
변수명1= new int (원하는 값의 변수명);-->값이 원하는 값으로 초기화가 됌

-->참고로 두개를 동시해 사용하는것은 불가능하다.

정의-3 변수를 넣지않고 초기화

변수명1= new int;-->변수타입 6개정도가 0으로 할당되어 초기화됌

delete

정의

delete[] 변수명;

이차원 동적배열과 해제

이차원 동적 배열

정의
1.가로포인터할당

이차원포인터 = new <데이터타입>*[가로길이];
-->직역하자면 가로길이만큼의 배열인데 이는 각각 데이터 타입의 포인터를 담겠다를 의미.

2.세로길이 할당

for(int i=0;i<가로길이;i++){

    이차원포인터[i]=new int[세로길이];

}
-->각 가로의 포인터배열에 새로길이를 나타내는 포인터를 담아준다.

이차원 동적 배열 해제

정의
1.가로 해제

for(int i = 0 ; i<가로길이 ;i++){

    delete[] 이차원포인터[i];-->가로에 할당된 배열을 해제시킨후

}

2.맨 앞부분 해제

    delete[] 이차원포인터;

'언어 > CPP(cpp)' 카테고리의 다른 글

오버라이딩  (0) 2018.02.06
상속  (0) 2018.02.06
const  (0) 2018.02.06
operator overloading(연산자 오버로딩)  (0) 2018.02.05
vector_static변수_static함수  (0) 2018.02.05

+ Recent posts