|
ayoony 님이 쓰신 글 :
: 이차원 동적배열의 선언과 방법을 알고 싶습니다.
: delete두여
:
: 일차원 배열은
: complex<double> *pT = new complex<double> [array];
: for(int i=0 ; i<array ; i++)
: {
: cout << pT[i] << endl;
: }
: delete [] pT;
: 하잖아요
: 이차원 배열은 어떻게 해야하는지 모르겠어요
:
: complex<double> **pT = new comples<double> [array][array];
: ???왜 틀리는 것인가요
:
: 글구여 위의 예제는 2차원 배열의 크기가 같을 경우인데여 만약에
: 크기가 다른 서로 다른 2차원 배열이라면 어떻게 해야하나요
다차원 배열일 경우 동적으로 생성할 수는 없습니다.
더군다나 크기가 서로 다르다면 더욱 그렇죠.
그렇지만 트릭은 있습니다.
complex<double> **pT = new comples<double>* [row];
for (int i=0; i<row; i++)
pT[i] = new comples<double> [col];
이렇게 하면 column이 서로 다르더라도 pT[row][col]로 접근할 수 있습니다.
그렇지만 특별한 경우가 아니라면 column을 서로 다르게 주는 것을 권하고 싶진 않습니다.
delete는 아래와 같이 위의 순서와는 반대로 하면 됩니다.
for (int i=0; i<row; i++)
delete [col] pT[row];
delete [row] pT;
|