본문 바로가기
🖥️/C#

[C#] 이차원 배열과 가변 배열

by HanaV 2023. 8. 21.
728x90

이차원 배열과 가변 배열

이차원 배열과 가변 배열은 둘 다 행과 열로 구성이 된다. 
둘의 차이점이라면, 이차원 배열은 모든 행의 길이가 같고, 가변 배열은 행마다 길이가 다르게 구성이 가능하다는 것이다.

예를 들자면

0 1 2 3
4 5 6 7
8 9 10 11

이건 모든 행의 길이가 같으므로 이차원 배열이고,

1 2
3 4 5
6 7 8 9

이건 행마다 길이가 다르므로 가변 배열이다.

이차원 배열은 [,]로 선언을 한다.

int[,] matrix = new int[3, 4]; // 3x4 이차원 배열 생성

// 배열 요소 넣기
for (int row = 0; row < 3; row++) {
    for (int col = 0; col < 4; col++) {
        matrix[row, col] = row * 4 + col;
    }
}

// 배열 요소 출력
for (int row = 0; row < 3; row++) {
    for (int col = 0; col < 4; col++) {
        Console.Write(matrix[row, col] + " ");
    }
    Console.WriteLine();
}

가변 배열은 [][]로 선언한다.

int[][] jaggedArray = new int[3][]; // 3개의 행으로 이루어진 가변 배열 생성

// 각 행마다 배열 요소 넣기
jaggedArray[0] = new int[] { 1, 2 };
jaggedArray[1] = new int[] { 3, 4, 5 };
jaggedArray[2] = new int[] { 6, 7, 8, 9 };

// 배열 요소 출력
for (int row = 0; row < 3; row++) {
    for (int col = 0; col < jaggedArray[row].Length; col++) {
        Console.Write(jaggedArray[row][col] + " ");
    }
    Console.WriteLine();
}

만약 가변 배열의 행 길이를 고정시키면 문법 오류가 발생한다.

int[][] jaggedArray = new int[3][4];  // 컴파일 에러

 

728x90

'🖥️ > C#' 카테고리의 다른 글

[C#] 인덱서  (0) 2023.08.21
[C#] Collection  (0) 2023.08.21
[C#] 배열 다루기  (0) 2023.08.21
[이것이 C#이다] Chapter09: 연습문제  (0) 2023.08.20
[C#] 레코드와 프로퍼티  (0) 2023.08.18

"); wcs_do();