ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [05강] 배열
    프로그래밍/C# 2022. 4. 24. 21:10

    목차

    1. 일차원 배열
    2. 이차원 및 다차원 배열
    3. 가변 배열
    4. 배열을 인수로 전달
    5. 배열을 리턴하는 메서드
    6. 배열의 메서드

     

    일차원 배열

      기본 개념 : 같은 데이터형 + 배열명 + 순차적인 메모리 나열

      - 참조형 : new를 통해서 생성

      - Array로부터 파생된 참조형

      - foreach 사용 가능

     

      선언 형식 : 데이터형[] 배열명;

      - int[] arrayName;

     

      생성과 초기화

      - int[] array;

        array = new int[] {1,2,3};

        array = new int[3] {1,2,3};

      - int[] array = new int[3] {1,2,3};

        int[] array = new int[] {1,2,3};

      - int[] array = {1,2,3};

     

      Array.Length 속성 : Array라는 클래스로부터 상속을 받기 때문에 해당 클래스에서 제공하는 메소드를 사용할 수 있다. 기본적으로 배열에서 많이 사용하는 것 : 배열의 개수(Length) 등

     

    이차원 및 다차원 배열

      이차원 배열의 특징 : 행과 열의 개념이 있다. 원래는 1차원 배열이 여러개 나열되어 있으나, 행과 열의 개념으로 나누어 사용한다.

      행과 열, 면은 콤마(,)로 구분

      선언 형식

      - 데이터형[ , ] 배열명;

        int[,] array1 = new int[2,2];

        int[,] array1 = new int[,] { {1,2}, {3.4} };

        int[] array1 = { {1,2}. {3,4}, {5,6} };

      - 데이터형[ , , ] 배열명;

        int[,,] array2 = new int[2,3,2];

        int[,,] array2 = new int[,,] { { {1,2}, {3,4} }, { {5,6}, {7,8} } };

        int[,,] array2 = { { {1,2}, {3,4}, {5,6} }, { {7,8}, {9,10}, {11,12} } };

     

    가변 배열

      행과 열에 대한 개수를 미리 고정하는 것이 아닌, 가변적으로 행마다 열의 크기를 각각 다르게 생성할 수 있도록 하는 것. C, C++에서는 이중포인터를 이용하여 구현하였으나 C#에서는 명확해졌다.

      형식 : 데이터형[][] 배열명;

      int[][] arrayName;

      - 사용 예(1) int[][] array = new int[3][];

        array[0] = new int[2];

        array[1] = new int[3];

        array[2] = new int[4];

      - 사용 예(2) int[][] array = new int[3][];

        array[0] = new int[2] (1,2);

        array[1] = new int[3] {3,4,5};

        array[2] = new int[] {6,7,8,9};

      - 사용 예(3) int[][] array = new int[][]

        {

          new int[] {1,2,3},

          new int[] {4,5,6},

          new int[] (7,8,9}

        };

      - 사용 예(4) int[][] array =

        {

          new int[] {1,2,3},

          new int[] {4,5,6},

          new int[] (7,8,9}

        };

     

    배열을 인수로 전달

      일차원 배열을 함수로 전달

        int[] array = {1,2,3,4};

        func(array);

        void func(int[] arr) { }

     

      이차원 배열을 참조로 전달

        int[,] array2 = { {1,2,3}, {4,5,6} };

        void SetArray(int[,] arr) { }

        SetArray(array2);

        SetArray(new int[,] { {1,2,3}, {4,5,6} });

     

    배열을 리턴하는 메서드

      배열을 리턴하는 의미 : 배열이 참조하는 객체의 주소값을 리턴하는 것.

     

    배열의 메서드

      배열 : Array클래스로부터 파생된 객채

     

      배열의 초기화 메서드

        public static void Clear(Array array, int index, int length);

     

      배열 복사 메서드

        public Object Clone();

     

      등...

Designed by Tistory.