🍀 Unity

[C#] 배열

수구마 2025. 5. 30. 13:24

1. 1차원 배열

int[] a; //a는 null
int[] a = new int[8]; // a라는 이름의 8칸짜리 배열이 생김 (메모리를 할당)
int[] a = new int[8];

for ( int i = 0; i < 8; i++ )
    Debug.Log( a[i] );

int[] a에서 0이 8개 출력된 모습

배열 초기화를 하지 않으면 각 타입의 기본값으로 초기화된다.

 

int[] a = new int[8]; -----> {0,0,0,0,0,0,0,0}

 

숫자는 0, 문자열은 null이 자동으로 들어감

배열 초기화하는법

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

for ( int i = 0; i < 8; i++ )
    Debug.Log( a[i] );

int[] a = new int[] { 2, 3, 4, 5, 6, 7, 8, 9}; 라고 해도 상관없음

new int[8] 할거면 초기화할 값 8개를 적어줘야함

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

모두 { 2, 3, 4, 5, 6, 7, 8, 9} 라는 배열을 똑같이 만들 수 있다

 

a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
2 3 4 5 6 7 8 9

 

 

2. 다차원 배열

 

 int[,] a = new int[3,5];

a[0,0] a[0,1] a[0,2] a[0,3] a[0,4]
a[1,0] a[1,1] a[1,2] a[1,3] a[1,4]
a[2,0] a[2,1] a[2,2] a[2,3] a[2,4]

 

 int[,] a = new int[4,5];

 for ( int i = 0; i < 4; i++ )
     for (int j = 0; j < 5; j++)
         Debug.Log(a[i, j]);

0이 20개 출력됨

 

다차원배열은 32차원까지도 가능하긴 하다.

 

 

3. 가변 배열

 

배열 속의 배열

[]를 여러 개 사용함

배열 안에 들어갈 배열의 크기는 가변이라 지정할수없음

int[][] a = new int[4][];

a[0] = new int[3];
a[1] = new int[4];
a[2] = new int[2];
a[3] = new int[5];

a[0][1] = 2;
a[0][0] a[0][1] = 2 a[0][2]    
a[1][0] a[1][1] a[1][2] a[1][3]  
a[2][0] a[2][1]      
a[3][0] a[3][1] a[3][2] a[3][3] a[3][4]

 

a라는 4칸짜리 배열이 각각 길이 3, 길이 4, 길이 2, 길이 5인 배열을 원소로 가짐

 

 

* 코드 가독성을 위해서는 섞어쓰는걸 비추천

 

 

foreach는 프로그래밍 언어에서 컬렉션의 각 요소를 순회하면서 특정 작업을 수행하는 데 사용되는 반복문 또는 함수

string[] names =
{
    "채원",
    "은채",
    "제니퍼"
};
foreach (string name in names) {
    Debug.Log(name);
}

 

names라는 string배열의 모든 원소에 대해 Debug.Log(name);을 실행한다.