본문 바로가기
Program Language/C#

Part2. C# 기초 다지기(1. 배열)

by 토담이아빠 2023. 2. 3.

배열

 

이번 포스팅에서는 배열을 초기화하고 요소들을 출력하는 방법에 대해서 정리했습니다.


배열의 생성과 초기화

 

배열은 같은 자료형을 갖는 연속된 집합입니다. 배열은 new 키워드를 사용하여 생성합니다.


자료형[] 배열명 = new 자료형[N]; // N은 배열의 크기

배열은 생성과 동시에 초기화할 수 있습니다. 초기화하는 방법은 중괄호 {} 안에 초기화하고자 하는 값들을 나열합니다. 이때 초기화하는 값들의 개수가 배열의 개수이므로 배열의 크기를 명시하지 않아도 됩니다. 다음은 배열을 초기화하는 방법들입니다.


자료형[] 배열명 = {자료1, 자료2, ...};   //new 키워드와 자료형[]없이 생성 및 초기화
자료형[] 배열명 = new 자료형[] {자료1, 자료2, ...}; //배열의 크기 지정없이 생성 및 초기화
자료형[] 배열명 = new 자료형[N] {자료1, 자료2, ..., 자료N}; // 배열의 크기 지정후 생성 및 초기화

배열 요소 출력

 

배열 안에 들어 있는 각각의 자료를 요소(element)라고 합니다. 배열의 요소를 지정할 때는 숫자 인덱스를 사용합니다. 예를 들면 다음과 같이 배열명 안에 인덱스로 표기합니다.


배열명[0], 배열명[1], 배열명[2], ... 배열명[N-1]

배열의 마지막 요소는 N-1의 인덱스를 가지므로 만약 배열명[N]을 사용하면 IndexOutOfRangeException이 발생합니다.

 

배열이나 리스트 같이 데이터들을 모아 놓은 것을 컬렉션(collection)이라고 합니다. 이런 컬렉션들은 반복문을 사용할 때 foreach문을 쓰면 좀 더 편리합니다. 


foreach(var 변수명 in 컬렉션명)
{
	//do somthing...
}

여기서 var은 어떤 자료형에도 쓸 수 있는 키워드입니다. 다음은 배열의 생성, 초기화, 출력 방법에 대한 예제입니다.


using System;

namespace Array_exam
{
    internal class Program
    {     
        static void Main(string[] args)
        {
            int[] a = { 1, 2, 3 }; //new 키워드 없이 생성 및 초기화
            Console.Write("a[]: ");
            foreach(var value in a)
            {
                Console.Write($"{value} ");
            }

            int[] b = new int[] {1, 2, 3 }; //배열의 개수 지정없이 생성 및 초기화
            Console.Write("\nb[]: ");
            for(int i = 0; i < 3; i++)
            {
                Console.Write($"{b[i]} ");
            }

            int[] c = new int[3] {1, 2, 3}; //배열의 개수 지정 후 생성 및 초기화
            Console.Write("\nc[]: ");
            for(int i = 0; i < c.Length; i++)
            {
                Console.Write($"{c[i]} ");
            }

            int[] d = new int[3]; //초기화 없이 배열 생성
            d[0] = 1;
            d[1] = d[0] + 1;
            d[2] = d[1] + 1;
            Console.Write("\nd[]: ");
            foreach(int value in d)
            {
                Console.Write($"{value} ");
            }

            Console.WriteLine();
        }
    }
}

결과

a[]: 1 2 3
b[]: 1 2 3
c[]: 1 2 3
d[]: 1 2 3


[Review]
"초보자를 위한 C# 200제(2판)" / 저자 : 강병익

댓글