C와 D는 모두 double[N] 타입 오브젝트가 M개인 배열이다. 즉, 배열 선언문이 중첩되어 있을 때는 안에서 바깥 순서로 읽어야 한다.
▲ 그림 6-2 다차원 배열의 구조
배열의 원소에 접근하고 그 값을 초기화하는 방법은 기존 방법과 같다. 다차원 배열에서도 [] 쌍을 이용한다. 다시 말해 앞에서 본 a[0]은 double 타입 오브젝트로서 간단한 변수 하나가 필요할 때마다 활용할 수 있다. 그런데 이번에는 C[0]이 배열이므로 C[0][0](또는 (C[0])[0])이 double 타입 오브젝트가 된다.
지정 초기자(designated initializer)로 초기화할 지점을 구체적으로 지정할 수도 있다(지정 초기자도 마찬가지로 [] 표기법을 따른다). 코드 5-1에서 바로 이렇게 했다. 개발 단계에서 지정 초기자를 사용하면 배열의 크기나 위치를 조금씩 변경하더라도 전체 코드의 일관성을 유지할 수 있다.