본문 바로가기
PROGRAMING📚/C#📑

배열(생성과 초기화 /이차원배열/가변배열) 이해하기

별찌루 2019. 3. 13.
728x90
반응형

 

//배열//

 

- 기본개념 :

같은 데이터형 + 변수명 + 순차적인 메모리 나열

 

- 참조형 :

new를 통해 생성한다. 

 

- Array로 부터 파생된 참조형 

- foreach(처음~끝 까지의 값을 읽어낸다.)를 사용 가능하다 

 

<선언 형식>

데이터형 [] 배열명;

int [] array_name;

 

<생성과 초기화>

(예)

int [] array;

array = new int [] ;

array  = new int [3];

 

-------------------------

int [] array = new int [3];

int [] array = new int [];

 

--------------------------

int [] array = ;

 

- Array.Length 속성 : 배열의 개수에 대한 정보를 가지고 있는 변수와 같다.

 

- foreach 사용 (읽기 전용) :순차적으로 나열하고 싶을 때, 사용

(예)배열안의 숫자를 순차적으로 출력

 

//이차원 배열//

 

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

행 -> 열 -> 면 순으로 생성한다 .

 

- 선언 형식 

데이터형 [,] 배열명;   -> [2][3] 이런식이 X, [2,3] 이런식으로 선언

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

 

- 형식 (이차원 배열과 다차원 배열)

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

int [,,] array2 = new int[2,2,3]; // 행, 열, 면

 

int[,] array1= new int[,]{,};

int[, ,] array2= new int[, ,]{{,},

{ ,}};

 

 

//가변 배열// 

 

행과 열에 대한 갯수를 각각 다르게 생성할 수 있게 만든 배열

 

- 형식

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

(예) int [][] array_name; 

 

- 사용 예

 

int [][] array = new int[3][];

//행에 대한 선언

array[0] = new int[2]; //열을 선언해준다.

array[1] = new int[3];

array[2] = new int[4];

-------------------------

array[0] = new int[2];

array[1] = new int[3];

array[2] = new int[4];

-------------------------

array[0] = new int[];

array[1] = new int[];

array[2] = new int[];

-------------------------

//행과 열이 유동적

int [][] array = new int[][]

{

new int[],

new int[],

new int[]

};

 

(예)가변 배열 사용

 

(예)가변 다차원 배열 사용

 

 

 

//배열을 함수로 전달//

- 일차원 배열을 함수로 전달

int [] array = ;

void func (int [] arr)

{

 

}

func(array);

 

(예) 함수를 사용하여 배열안에있는 값 바꾸기 

 

- 이차원 배열을 참조로 전달

int [,] array2 = {,};

SetArray(array2);

void SetArray(int[,] arr) ->참조 배열 변수 

{

 

}

----------------------------------

SetArray(new int[,]{,}; 함수안에 그대로 배열을 작성해줄 수 있다. 

 

//배열을 리턴하는 함수//

배열을 리턴한다는 의미는 배열을 참조하는 객체의 주소 값을 리턴하는 것을 말한다. 

배열을 리턴하기 위해서는 어떤 형태의 리턴타입을 사용할 것인가가 중요하다.

 

-> 리턴값이 데이터 형과 일치해야한다. 

 

(예)

//함수 구현

//메인 구간

 

 

 

//배열의 메서드들...//

- 배열 -> Array클래스로 부터 파생된 객체 

- 배열 초기화 메서드

public static void Clear(

Array array,

int index,

int length

)

 

- 배열 복사 메서드 

public Object Clone()

->  int [] nArray =;

//각각의 메모리를 가진다.

int [] nCloneArray = (int[])nArray1.Clone(); ->nArray1을 참조하여 값을 복사 한다. 

728x90
반응형

댓글