동적배열
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 |