Visual Basic의 가변 배열
업데이트: 2007년 11월
배열을 요소로 갖는 배열을 배열의 배열 또는 가변 배열이라고 합니다. 배열이 요소로 포함된 배열과 한 배열에 둘 이상의 인덱스가 있는 다차원 배열은 동일하지 않습니다.
가변의 의미
간혹 응용 프로그램의 데이터 구조는 2차원이지만 사각형 형태가 아닌 경우가 있습니다. 예를 들면 일 배열을 각 요소로 사용하여 구성되는 월 배열을 들 수 있습니다. 월에 따라 일 수가 달라지므로 배열 요소가 사각형의 2차원 배열을 형성하지 않습니다. 이러한 경우 다차원 배열 대신 가변 배열을 사용할 수 있습니다.
예제
다음 예제에서는 Double 데이터 형식(Visual Basic)의 요소가 포함된 배열의 배열을 보유하는 배열 변수를 선언합니다. sales 배열의 각 요소 또한 월을 나타내는 배열입니다. 각 월 배열은 해당 월의 각 일에 대한 값을 보유합니다.
Dim sales()() As Double = New Double(11)() {}
Dim month As Integer
Dim days As Integer
For month = 0 To 11
days = DateTime.DaysInMonth(Year(Now), month + 1)
sales(month) = New Double(days - 1) {}
Next month
sales 선언의 New 절에서는 배열 변수를 12개 요소로 구성되는 배열로 설정하며, Double() 형식인 12개 요소는 각각 Double 요소의 배열입니다. 그런 다음 For 루프는 올해(Year(Now)) 각 달의 일 수를 결정하고 해당하는 sales 요소를 적절한 크기의 Double 배열로 설정합니다.
이전 예제에서 가변 배열은 2차원 배열과 비교해 7개(윤년의 경우 6개)의 요소를 저장합니다. 간혹 메모리를 절약해야 하는 것이 중요한 경우 이 방식이 아주 유용합니다.