C# 공부를 하며 계속 긴가민가 헷갈렸던 내용이 있어 정리.
2차원 이상의 배열을 사용하려고 할 때, 두 가지 방식으로 배열을 사용 할 수 있다.
int[,] array = new int[3, 2];
int[][] jaggedArray = new int[3][];
위의 방식처럼 [ , ] 한개의 대괄호 안에 쉼표가 들어가있는 모습과, 아래의 방식처럼 [ ][ ] 두 쌍의 대괄호를 사용하는 방식이다.
(어느쪽이 맞는지 매번 헷갈리다가, 둘 다 사용한다는 걸 이제 알았음)
1. 다차원 배열(Rectangular Arrays)
int[,] array = new int[3, 2];
괄호 내 쉼표를 사용하여 다차원 배열을 사용할 수 있다.
특징으로는 모든 행이 동일한 수의 열을 갖는다는 것.
2. 가변 배열(Jagged Arrays)
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[4];
jaggedArray[1] = new int[5];
jaggedArray[2] = new int[3];
가변 배열(Jagged Arrays) 또는 배열의 배열(Array of Arrays) 로 불리는 방식.
위의 예시에서는 첫 번째 배열(jaggedArray[0])은 4개의 요소를 갖고, 두 번째 배열(jaggedArray[1])은 5개의 요소를 갖는 등 각 행마다 다른 수의 요소를 가질 수 있다.
3. 두 배열의 차이점
구조: 다차원 배열은 모든 행과 열의 크기가 같은 반면, 가변 배열은 각 행이 서로 다른 크기를 가질 수 있다.
메모리 할당: 다차원 배열은 단일 연속된 메모리 블록에 할당되는 반면, 가변 배열은 각 행마다 별도의 메모리 블록에 할당된다.
성능: 일반적으로 가변 배열은 다차원 배열보다 접근 속도가 빠르다. 이는 다차원 배열이 메모리에서 더 복잡하게 처리되기 때문.
사용 용도: 다차원 배열은 데이터가 균일한 그리드 형태일 때 유용하고, 가변 배열은 각 행의 길이가 다를 수 있는 더 복잡한 데이터 구조를 다룰 때 유용하다.
반응형
'Dev > Unity(C#)' 카테고리의 다른 글
MonoBehaviour < 이름에 대해 (0) | 2024.07.01 |
---|---|
구글 플레이스토어에 출시테스트용 앱 게시 (0) | 2024.06.09 |
유니티에서 MIDI(미디) 다루기 (0) | 2023.12.06 |
Unity Ads / Advertising 광고 넣기(2023.12.05) (0) | 2023.12.05 |
유니티 카메라 테두리 사각형 안보일 때 (1) | 2022.02.01 |