이전 글에서 이차원 배열에 대해 알아보았습니다. 이차원 배열 이상을 다차원 배열이라고 부르는데 이차원 배열과 비슷한 구조를 가집니다. 이번에는 배열을 요소로 가지는 가변 배열에 대해 알아보겠습니다.
C# 이차원 배열
이전 글에서 일차원 배열 생성, 선언 및 초기화에 대해 알아보았습니다. 이번에는 이차원 이상의 배열에 대해 알아보겠습니다. C# 일차원 배열 생성 및 선언하고 초기화 C# 일차원 배열 생성 및
mr-johndoe.tistory.com
1. 가변 배열
이차원 배열에서 이해를 쉽게하기 위해 엑셀의 워크시트를 생각하시라고 말씀드렸습니다. 이차원 배열은 행과 열의 두 가지 요소를 갖고 있는데 이차원 배열을 선언하여 생성하기 위해서는 이 두 가지 요소의 값을 정해줘야 했습니다. 그런데, 가변 배열은 행의 값만 정해주면 나머지 열의 값은 입력되는 데이터에 따라 정해집니다.
가변 배열을 사용하는 방법은 다음과 같습니다.
① 데이터형[ ] [ ] 배열명 = new 데이터형[숫자] [ ];
② 데이터형[ ] [ ] 배열명 = new 데이터형[ ] [ ];
이차원 배열 사용 방법과 비슷합니다. 다른 점은 데이터형 뒤의 괄호를 두 개 사용한다는 점입니다.
②번 사용 방법을 보시면 앞에서 가변 배열의 요소에서 행의 값을 정해주어야 한다고 말씀드렸는데 이 방법을 자세히 보시면 행의 값도 생략하여 사용하고 있다는 것을 아실 수 있습니다. 이렇게 사용하실 때는 바로 초기화를 시켜주셔야 에러가 발생하지 않습니다.
2. 예제를 통해 가변 배열 확인
Visual Studio를 실행하시고 새 프로젝트에서 C# 콘솔애플리케이션을 생성하시고 Main 함수에 다음과 같이 코딩을 합니다.
int[][] arr = new int[2][];
arr[0] = new int[3] { 1, 2, 3 };
arr[1] = new int[2] { 4, 5 };
for (int i = 0; i < arr.Length; i++)
{
for (int j = 0; j < arr[i].Length; j++)
Console.WriteLine(arr[i][j]);
}
①번 사용 방법으로 가변 배열을 선언하고 생성하여 사용했습니다.
이 코드를 실행하면 화면에 한 줄에 하나씩 1 ~ 5가 출력됩니다.
이번에는 아래와 같이 Main 함수에 코딩을 하고 실행을 합니다.
int[][] arr1 = new int[][]
{
new int[] {1, 2, 3},
new int[] {4, 5},
new int[] {6, 7, 8}
};
for (int i = 0; i < arr1.Length; i++)
{
for (int j = 0; j < arr1[i].Length; j++)
Console.Write(arr1[i][j]);
}
②번 사용 방법으로 가변 배열을 선언하고 생성하면서 바로 초기화를 시켜 주었습니다.
코드를 실행하면 화면에 '12345678'이 출력되는 것을 보실 수 있습니다.
사용 방법에는 적혀있지 않지만 new를 사용하지 않고 생성하고 초기화하는 방법도 있습니다.
아래 예제를 확인해 보세요.
int[][] arr2 = {
new int[] {1, 2, 3},
new int[] {4, 5},
new int[] {6, 7, 8}
};
for (int i = 0; i < arr2.Length; i++)
{
for (int j = 0; j < arr2[i].Length; j++)
Console.Write(arr2[i][j]);
}
실행하시면 화면에 '12345678'이 출력되는 것을 보실 수 있습니다. 가변 배열을 선언하고 바로 각 요소를 생성하면서 초기화를 시켰습니다.
가변 배열을 초기화하는 방법에는 배열 요소를 각각 초기화하는 방법도 있습니다.
아래 예제를 봐주세요.
int[][] arr3 = new int[3][];
arr3[0] = new int[3] { 1, 2, 3};
arr3[1] = new int[2] { 4, 5};
arr3[2] = new int[3] { 6, 7, 8};
for (int i = 0; i < arr3.Length; i++)
{
for (int j = 0; j < arr3[i].Length; j++)
Console.Write(arr3[i][j]);
}
가변 배열을 선언하고 생성하면서 행의 값으로 3을 주었습니다. 그리고, 각 행의 열을 생성하면서 바로 초기화를 시켰습니다.
여러 가지 가변 배열을 사용 및 초기화하는 방법에 대해 알아봤습니다. 이중 편하신 방법으로 가변 배열을 선언해서 사용하시면 됩니다.
'Programming > C#' 카테고리의 다른 글
C# 컬렉션 알아보기 - Queue & 메서드 (0) | 2021.10.15 |
---|---|
C# 컬렉션 알아보기 - ArrayList & 메서드 (0) | 2021.10.14 |
C# 이차원 배열 (0) | 2021.10.08 |
C# 일차원 배열 생성 및 선언하고 초기화 (0) | 2021.10.06 |
C# 반복문에 대해 알아보기 - while 문, do ~ while 문 (0) | 2021.10.03 |