여러분은 어떤 표현 방법이 더 편한가요? 아무래도 첫 번째 방법이 더 편하다고 생각할 것입니다. 두 번째 방법은 조금 복잡하고 거추장스러운 거 같은데 왜 두 가지 표현 방식이 필요한 것일까요? 훨씬 편한 첫 번째 방식만 사용해도 될 것 같은데 말이죠. 지금부터 두 번째 방법은 언제 사용하면 좋은지 한번 생각해 보겠습니다.
배열의 크기를 확장해 보겠습니다. 예를 들어 배열 크기가 a[20][20]이라면 어떻게 될까요?
a[20][20] = { 13, 21, 33, 46, 5, 6, 27, 98, ……………………………………………, 0, 3};
이렇게 400개의 배열 요소를 한 줄로 써야 하는데 아무래도 쓰기가 힘들고 몇 번째 요소에 무엇이 저장되어 있는지 확인하거나 수정하기가 어려울 것 같습니다.
예를 들어 a[8][12]번째 요소의 값이 무엇인지 알고 싶다면, 프로그래머는 하나씩 배열의 위치를 세면서 확인해야 할 것입니다. 그러나 2차원 배열을 초기화하는 두 번째 방법을 사용하면 a[6][4]의 값이 7이라는 것을 비교적 바로 확인할 수 있습니다.
{ 13, 21, 33, 46, 5, 6, 27, 98, 9, 10, 41, 12, 3, 14, 15, 26, 37, 38, 79, 20 }, { 1, 22, 53, 24, 35, ……………………………………………………………………… }, { 21, 73, 63, 4, 52, ……………………………………………………………………… }, { 1, 92, 13, 44, 15, ……………………………………………………………………… }, { 94, 4, 40, 38, 92, ……………………………………………………………………… }, { 92, 84, 23, 2, 4, ………………………………………………………………………… }, { 91, 2, 23, 34, 7, …………………………………………………………… }, // a[6][4] = = 7 .. .. .. {31, 6, 75, 95, 99, ………………………………………………………………………… } };