그렇다면 2차원 배열에서는 주소를 어떻게 표현할까요?
예를 들어 2차원 배열 int a[2][3];이 있다고 합시다. 이 배열의 총 크기는 6입니다. 그러나 이 배열에서 하나 더 깊이 들어가보면, 두 개의 배열이 모여 하나의 배열이 된 것으로 볼 수 있습니다. 즉, a[0]와 a[1] 두 배열이 하나로 합쳐져서 배열 a를 구성한 것입니다.
그림 9-9 | 1차원 배열이 두 개 모여 2차원 배열을 구성함
2차원 배열 int a[2][3]의 주소를 각각 표현하면 다음과 같이 표현할 수 있을 것입니다.
그림 9-10 | 2차원 배열의 주소를 표현한 모습
우선 배열의 첫 번째 주소를 104로 가정하겠습니다. a[0]은 a와 &a[0][0]과 마찬가지로 주소 104번지라고 표현하였고, a[1]은 &a[1][0]과 같이 주소 116이라고 표현하였습니다.
배열 a는 두 개의 작은 배열인 a[0]과 a[1]로 구성되었으며, 배열의 이름은 자신의 첫 번째 배열 방의 주소와 같습니다. 그러므로 a[0]은 &a[0][0]과 같고, a[1]은 &a[1][0]과 같다고 할 수 있습니다.