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

C#에서 가변 배열(Jagged Array) 선언하고 사용하는 방법

C#에서 가변 배열(Jagged Array)은 '배열의 배열'을 의미합니다. 일반적인 2차원 배열과 달리 각 행(내부 배열)의 길이가 서로 다를 수 있어, 메모리를 효율적으로 활용할 수 있다는 장점이 있습니다.

가변 배열 선언하기

int 타입의 요소를 담는 points라는 이름의 가변 배열은 다음과 같이 선언할 수 있습니다.

int[][] points;

가변 배열 초기화하기

선언 후에는 각 내부 배열에 실제 값을 할당하여 초기화합니다.

int[][] points = new int[][]{new int[]{10,5}, new int[]{30,40}, new int[]{70,80}, new int[]{60,70}};

이처럼 각 행의 크기를 자유롭게 지정할 수 있으므로, 예를 들어 한 행은 요소 2개, 다른 행은 요소 5개로 구성하는 것도 가능합니다.

가변 배열 요소에 접근하기

가변 배열의 특정 요소에 접근하려면 대괄호를 두 번 연달아 사용합니다. 첫 번째 인덱스는 외부 배열의 위치를, 두 번째 인덱스는 해당 내부 배열에서의 위치를 나타냅니다.

points[i][j]

전체 예제 코드

다음은 C#에서 가변 배열을 생성하고 반복문으로 모든 요소를 출력하는 완전한 예제입니다.

예제

using System;

namespace Demo {
   class MyArray {
      static void Main(string[] args) {

         // 가변 배열 선언 및 초기화
         int[][] points = new int[][]{new int[]{10,5}, new int[]{30,40}, new int[]{70,80}, new int[]{60,70}};
         int i, j;

         // 이중 반복문으로 배열 요소 출력
         for (i = 0; i < 3; i++) {
            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0}][{1}] = {2}", i, j, points[i][j]);
            }
         }
         Console.ReadKey();
      }
   }
}

실행 결과

a[0][0] = 10
a[0][1] = 5
a[1][0] = 30
a[1][1] = 40
a[2][0] = 70
a[2][1] = 80

정리

가변 배열은 int[][] 형태로 선언하며, 각 행을 개별적으로 초기화할 수 있습니다. 행마다 크기가 달라도 되기 때문에 데이터 구조가 불규칙할 때 유용하게 활용할 수 있으며, 요소 접근 시에는 배열명[i][j]와 같이 이중 인덱스를 사용한다는 점을 기억하시면 됩니다.