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

C#에서 가변 배열(Jagged Array)을 초기화하는 방법

가변 배열(Jagged Array)은 '배열의 배열'로, 각 행(내부 배열)의 길이가 서로 다를 수 있는 2차원 배열 구조입니다. 일반적인 다차원 배열과 달리 메모리를 유연하게 사용할 수 있어 상황에 따라 매우 유용합니다.

가변 배열 초기화 방법

가변 배열은 선언과 동시에 아래와 같이 초기화할 수 있습니다.

int[][] rank = new int[2][]{new int[]{3,2,7},new int[]{9,4,5,6}};

위 코드에서 첫 번째 내부 배열은 요소 3개(3, 2, 7)를, 두 번째 내부 배열은 요소 4개(9, 4, 5, 6)를 가지고 있습니다. 이처럼 각 내부 배열의 크기를 자유롭게 지정할 수 있다는 점이 가변 배열의 핵심 특징입니다.

예제

다음 예제는 C#에서 가변 배열을 초기화하고 중첩 반복문을 사용해 모든 요소를 출력하는 방법을 보여줍니다.

using System;
namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4} };
            int i, j;
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, a[i][j]);
                }
            }
            Console.ReadKey();
        }
    }
}

실행 결과

a[0][0] = 0
a[0][1] = 0
a[1][0] = 1
a[1][1] = 2
a[2][0] = 2
a[2][1] = 4

추가 팁: 더 간결한 초기화 문법

C#에서는 new int[] 키워드를 생략하여 더 간결하게 초기화할 수도 있습니다.

int[][] a = { new int[]{0,0}, new int[]{1,2}, new int[]{2,4} };

또한 필요할 때 나중에 각 내부 배열을 개별적으로 할당하는 방식도 가능합니다.

int[][] b = new int[3][];
b[0] = new int[] { 10, 20 };
b[1] = new int[] { 30 };
b[2] = new int[] { 40, 50, 60 };

이처럼 가변 배열은 각 행의 길이가 달라야 하는 데이터(예: 삼각형 형태의 데이터, 학생별 과목 수가 다른 성적표 등)를 다룰 때 특히 유용합니다.