C# 문법 종합반 / 2주차 / 배열

2023. 8. 17. 19:43C# 문법 종합반

1. 배열 : 동일한 자료형의 값들이 연속적으로 저장되는 자료 구조

1) 1차원 배열
: 동일한 데이터 유형을 가진 데이터요소들을 모아 다룰 수 있는 구조.

: 인덱스를 사용, 선언된 크기만큼의 공간을 메모리에 할당.
: 배열이 나오면 거의 대부분 반복문이 나옴.

// 기본 구조

데이터_유형[] 배열_이름;  // 배열 선언
배열_이름 = new 데이터_유형[크기];  // 배열 초기화
데이터_유형[] 배열_이름 = new 데이터_유형[크기];  // 배열을 한 줄로 선언 및 초기화
배열_이름[인덱스] = 값;  // 값을 세팅한다.
값 = 배열_이름[인덱스];  // 값을 가져온다.

// 예시

int[] itemPrices = { 100, 200, 300, 400, 500 };  // itemPrice라는 배열을 만들고, 5개의 데이터를 넣음(초기화)
int totalPrice = 0;  

for (int i = 0; i < itemPrices.Length; i++)  // 이어지는 데이터/자료구조의 갯수를 Length라고 부름. 해당 배열의 길이는 5개.
{
    totalPrice += itemPrices[i]; // i는 Length에 따라 0부터 4까지, 즉 100~500까지 들어가게 됨.
}

Console.WriteLine("총 아이템 가격: " + totalPrice + " gold");  // 따라서 총합을 도출

 

2) 다차원 배열

: 여러 배열을 하나로 묶은 배열. 2차원, 3차원 등 행과 열로 이루어진 표 형태.

: 맵 만들기

int[,] map = new int[5, 5] 
{ 
    { 1, 1, 1, 1, 1 }, 
    { 1, 0, 0, 0, 1 }, 
    { 1, 0, 1, 0, 1 }, 
    { 1, 0, 0, 0, 1 }, 
    { 1, 1, 1, 1, 1 } 
};

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        if (map[i, j] == 1)
        {
            Console.Write("■ ");
        }
        else
        {
            Console.Write("□ ");
        }
    }
    Console.WriteLine();
}