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

C# 들쭉날쭉한 배열(Jagged Array) 초기화 방법 총정리

들쭉날쭉한 배열(Jagged Array)은 말 그대로 '배열의 배열'을 의미합니다. 일반적인 2차원 배열과 달리 각 행(내부 배열)의 길이가 서로 달라도 되기 때문에, 크기가 제각각인 데이터를 효율적으로 다룰 때 매우 유용합니다.

들쭉날쭉한 배열 선언하기

int 타입의 들쭉날쭉한 배열 marks는 다음과 같이 선언할 수 있습니다.

int [][] marks;

들쭉날쭉한 배열 초기화하기

선언된 배열은 아래와 같이 한 번에 초기화할 수 있습니다.

int[][] marks = new int[2][]{new int[]{92,93,94},new int[]{85,66,87,88}};

위 코드에서 marks는 두 개의 정수 배열을 요소로 가지는 배열입니다.

  • marks[0]은 정수 3개로 이루어진 배열입니다.
  • marks[1]은 정수 4개로 이루어진 배열입니다.

또한 각 행을 개별적으로 초기화하는 것도 가능합니다.

int[][] marks = new int[2][];
marks[0] = new int[] {92, 93, 94};
marks[1] = new int[] {85, 66, 87, 88};

전체 예제

다음 예제는 세 개의 정수 배열로 구성된 들쭉날쭉한 배열을 생성하고, 중첩 반복문을 사용해 모든 요소의 값을 출력하는 방법을 보여줍니다.

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            /* 정수 배열 3개로 구성된 들쭉날쭉한 배열 */
            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

이처럼 들쭉날쭉한 배열은 각 행의 크기를 자유롭게 설정할 수 있어 메모리를 절약하면서도 유연한 데이터 구조를 설계할 수 있다는 장점이 있습니다.