C 언어/C++

c++ 기초단계 (11/16)

알 수 없는 사용자 2011. 11. 16. 20:24

다차원배열과 포인터의 관계?

 

int a[30]; <- 1차원배열 선언

int *p = a; <- a를 *p에 대입

컴파일 에러는 당연히 없다.

 

하지만

int a[3][2];

int **p = a;

를 하게 되면

1

에러가 출력된다. 포인터는 2차원의 개념이 없기 때문이다.

 

 

1_00000

위 코드는 c++에서 다차원배열의 동적할당을 하는 예제 이다.

중요한건

int (*NEW2)[2] = new int [3][2];

이차원배열의 타입을 맞춰줘야 하는 것이다.