-
목차
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();
등...
'프로그래밍 > C#' 카테고리의 다른 글
[07강] 프로젝트 실습 - 스마트 밥솥 (0) 2022.05.29 [06강] 파일 입출력 (0) 2022.05.02 [04강] C# 기본 문법 (0) 2022.04.12 [03강] 데이터형, 변환, 표준 입력형식 (0) 2022.04.12 [02강] C#프로그래밍 기본 구조 (0) 2022.03.24