3차원 배열 (C#)

Shy·2025년 3월 13일

C#

목록 보기
18/27

3차원 배열

C#에서 3차원 배열[행, 열, 깊이]의 형태로 데이터를 저장하는 배열이다.

X(가로) × Y(세로) × Z(깊이) 형태로 공간을 표현할 수 있다.

1. 기본 선언

int[,,] array3D = new int[2, 3, 4]; 
  • 2개의 행, 3개의 열, 4개의 깊이(층)을 가지는 배열이다.
  • 기본값(정수형이라면 0)으로 초기화 된다.

한 번에 값 초기화

int[,,] array3D = 
{
    {
        { 1, 2, 3, 4 },
        { 5, 6, 7, 8 },
        { 9, 10, 11, 12 }
    },
    {
        { 13, 14, 15, 16 },
        { 17, 18, 19, 20 },
        { 21, 22, 23, 24 }
    }
};
  • [2,3,4] 구조로 2층의 행렬을 쌓은 형태
  • array3D[0,0,0] = 1, array3D[1,2,3] = 24

2. 3차원 배열에 값 저장 및 접근

값 할당

array3D[0, 1, 2] = 42; // 1번째 층, 2번째 행, 3번째 열

값 출력

Console.WriteLine(array3D[0, 1, 2]); // 42 출력

3. 배열 순회

for (int i = 0; i < array3D.GetLength(0); i++) // 층 반복
{
    for (int j = 0; j < array3D.GetLength(1); j++) // 행 반복
    {
        for (int k = 0; k < array3D.GetLength(2); k++) // 열 반복
        {
            Console.Write($"array3D[{i},{j},{k}] = {array3D[i, j, k]}  ");
        }
        Console.WriteLine();
    }
    Console.WriteLine();
}
// GetLength(0) → 1차원 크기(층 개수), GetLength(1) → 행 개수, GetLength(2) → 열 개수
// 배열 요소를 array3D[i, j, k]로 접근

// array3D[0,0,0] = 1  array3D[0,0,1] = 2  array3D[0,0,2] = 3  array3D[0,0,3] = 4  
// array3D[0,1,0] = 5  array3D[0,1,1] = 6  array3D[0,1,2] = 7  array3D[0,1,3] = 8  
// array3D[0,2,0] = 9  array3D[0,2,1] = 10  array3D[0,2,2] = 11  array3D[0,2,3] = 12  

// array3D[1,0,0] = 13  array3D[1,0,1] = 14  array3D[1,0,2] = 15  array3D[1,0,3] = 16  
// array3D[1,1,0] = 17  array3D[1,1,1] = 18  array3D[1,1,2] = 19  array3D[1,1,3] = 20  
// array3D[1,2,0] = 21  array3D[1,2,1] = 22  array3D[1,2,2] = 23  array3D[1,2,3] = 24  

4. 가변 배열

3차원 배열

int[,,] array3D = new int[2, 3, 4]; // [층, 행, 열]
// 고정된 크기의 행렬 구조

가변 배열

int[][][] jaggedArray = new int[2][][];
jaggedArray[0] = new int[3][];
jaggedArray[1] = new int[2][];

jaggedArray[0][0] = new int[] { 1, 2 };
jaggedArray[0][1] = new int[] { 3, 4, 5 };
jaggedArray[0][2] = new int[] { 6 };

// 행과 열 크기가 유동적인 경우 Jagged Array 사용
// jaggedArray[0][1][2] = 5 처럼 접근

정리

구분설명예제
3차원 배열 선언[층, 행, 열] 구조로 선언int[,,] array3D = new int[2,3,4];
값 저장 및 접근인덱스로 접근array3D[0,1,2] = 42;
배열 순회for 문으로 3중 반복array3D[i, j, k]
가변 배열 (Jagged)행마다 열 개수가 다른 경우int[][][] jaggedArray = new int[2][][];
profile
신입사원...

0개의 댓글