Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터 구조에서 배열의 배열(Array of Arrays) 표현 방식 이해하기

배열의 배열 표현이란?

이번 섹션에서는 다차원 배열을 표현하는 또 다른 방법에 대해 알아보겠습니다. 여기서 소개할 방식은 배열의 배열(Array of Arrays) 표현입니다.

이 방식에서는 하나의 배열이 여러 개의 배열들의 시작 주소(starting addresses)를 담고 있는 형태로 구성됩니다. 즉, 최상위 배열은 각 하위 배열을 가리키는 주소값들을 보관하고 있으며, 전체적인 구조는 다음과 같이 나타낼 수 있습니다.

데이터 구조에서 배열의 배열(Array of Arrays) 표현 방식 이해하기

구조 분석

위 그림은 크기가 [7 x 8]인 2차원 배열 x를 보여줍니다. 각 행(row)은 하나의 독립된 1차원 배열로 표현되며, 초기 배열(최상위 배열)은 이 개별 배열들의 주소들을 저장하고 있습니다.

주소값들을 요소로 가지는 배열이므로, 이를 포인터의 배열(array of pointers)이라고 부를 수 있습니다. 각 포인터는 또 다른 배열의 시작 주소를 가리키게 됩니다.

배열 생성 방법

이러한 형태의 배열을 생성하려면 new 키워드를 아래와 같이 사용하면 됩니다.

int [][] x = new int[7][8];

요소 접근 방식

특정 위치 x[i, j]에 있는 요소에 접근하려면 두 단계를 거칩니다. 먼저 x[i]를 통해 i번째 배열의 주소를 찾아내고, 그다음 해당 배열 안에서 j번째 인덱스로 이동하여 원하는 값을 얻습니다.

이러한 접근 방식 덕분에 배열의 배열 표현은 메모리 활용에 유연성을 제공하며, 각 행의 크기를 서로 다르게 설정하는 것도 가능합니다.