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

C#에서 배열의 배열(double[][]) 사용하는 방법 - 가변 배열(Jagged Array) 완벽 가이드

C#에서 '배열의 배열'은 가변 배열(Jagged Array)이라고 부릅니다. 일반적인 2차원 배열과 달리, 가변 배열은 각 행의 길이가 서로 다를 수 있어 더 유연한 데이터 구조를 제공합니다.

가변 배열 선언하기

가변 배열은 대괄호를 연달아 사용하여 선언합니다. 예를 들어 정수형 가변 배열은 다음과 같이 선언할 수 있습니다.

int[][] marks;

선언만으로는 메모리가 할당되지 않으므로, 실제로 사용하려면 초기화 과정이 필요합니다. 아래 예제에서는 5개의 정수 배열을 요소로 가지는 가변 배열을 초기화하고 있습니다.

int[][] marks = new int[][]{new int[]{ 90,95 },new int[]{ 89,94 }, new int[]{ 78,87 },new int[]{ 76, 68 }, new int[]{ 98, 91 } };

전체 예제 코드

이제 C#에서 가변 배열을 실제로 구현하고 활용하는 방법을 전체 예제를 통해 살펴보겠습니다. 중첩 for문을 사용하여 배열의 모든 요소에 접근하고 출력합니다.

using System;
namespace MyApplication {
    class MyDemoClass {
        static void Main(string[] args) {
            int i, j;
            /* 5개의 정수 배열로 이루어진 가변 배열 */
            int[][] marks = new int[][]{new int[]{90,95},new int[]{89,94}, new int[]{78,87},new int[]{ 76, 68 },
            new int[]{ 98, 91}};

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

실행 결과

위 프로그램을 실행하면 각 배열 요소의 인덱스와 값이 순서대로 출력됩니다.

marks[0][0] = 90
marks[0][1] = 95
marks[1][0] = 89
marks[1][1] = 94
marks[2][0] = 78
marks[2][1] = 87
marks[3][0] = 76
marks[3][1] = 68
marks[4][0] = 98
marks[4][1] = 91

정리

C#의 가변 배열(Jagged Array)은 각 행마다 서로 다른 크기의 배열을 담을 수 있는 유연한 자료구조입니다. int[][]와 같은 형태로 선언하며, 배열명[행][열] 방식으로 요소에 접근합니다. 학생별 시험 점수처럼 행마다 데이터 개수가 다를 수 있는 경우에 특히 유용하게 활용됩니다.