본문 바로가기

Programming/C#

C# 가변 배열 선언, 생성 및 초기화

반응형

이전 글에서 이차원 배열에 대해 알아보았습니다. 이차원 배열 이상을 다차원 배열이라고 부르는데 이차원 배열과 비슷한 구조를 가집니다. 이번에는 배열을 요소로 가지는 가변 배열에 대해 알아보겠습니다. 

 

C# 이차원 배열

 

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을 주었습니다. 그리고, 각 행의 열을 생성하면서 바로 초기화를 시켰습니다.

 

여러 가지 가변 배열을 사용 및 초기화하는 방법에 대해 알아봤습니다. 이중 편하신 방법으로 가변 배열을 선언해서 사용하시면 됩니다.

 

반응형