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

C# 들쭉날쭉한 배열(Jagged Array) 완벽 정리: 개념부터 예제까지

C#에서 들쭉날쭉한 배열(Jagged Array)이란?

들쭉날쭉한 배열(Jagged Array)은 C#에서 배열을 요소로 가지는 배열을 의미합니다. 일반적인 2차원 배열과 달리, 각 내부 배열의 길이가 서로 달라도 되기 때문에 '들쭉날쭉하다'는 이름이 붙었습니다.

예를 들어 첫 번째 행은 3개의 요소, 두 번째 행은 5개의 요소를 가질 수 있어 유연한 데이터 구조를 만들 때 유용합니다.

선언 및 초기화 방법

들쭉날쭉한 배열은 다음과 같이 선언하고 초기화할 수 있습니다.

int[][] rank = new int[1][]{new int[]{5,3,1}};

위 코드에서 rank는 정수형 배열을 담는 배열이며, 하나의 내부 배열 {5, 3, 1}을 포함하고 있습니다.

전체 예제 코드

다음은 C#에서 들쭉날쭉한 배열을 선언하고 반복문으로 순회하는 전체 예제입니다.

using System;

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

            // 2개의 정수 배열을 요소로 갖는 들쭉날쭉한 배열
            int[][] rank = new int[][]{new int[]{1,2}, new int[]{3,4}};
            int i, j;

            for (i = 0; i < 2; i++) {
                for (j = 0; j < rank[i].Length; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, rank[i][j]);
                }
            }
            Console.ReadKey();
        }
    }
}

실행 결과

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

핵심 포인트 정리

위 예제에서 사용된 들쭉날쭉한 배열은 다음과 같습니다.

int[][] rank = new int[][]{new int[]{1,2}, new int[]{3,4}};
  • 구조: rank는 두 개의 정수 배열 {1, 2}{3, 4}를 요소로 가집니다.
  • 접근 방법: 각 요소는 rank[i][j] 형태로 이중 인덱스를 통해 접근합니다.
  • 유연성: 각 내부 배열의 길이가 달라도 되므로, 비정형 데이터를 저장하기에 적합합니다.

2차원 배열과의 차이점

2차원 배열(int[])은 모든 행의 열 개수가 동일해야 하지만, 들쭉날쭉한 배열은 각 행(내부 배열)의 크기를 자유롭게 설정할 수 있습니다. 또한 들쭉날쭉한 배열은 실제로 '배열의 배열'이기 때문에 메모리 구조에서도 차이가 있으며, 필요에 따라 더 효율적인 선택이 될 수 있습니다.