2. 참조 타입
2.1 배열 2.2 문자열 2.3 클래스
2.1 배열 : 동일한 타입의 변수들을 하나의 이름으로 묶어 놓은 것
■ 형식
타입 [] 변수명; |
int[] arScore; // 1차원 정수 배열
double[] arRate; // 1차원 실수 배열
int[,] arSung; // 2차원 정수 배열
string[,,] arName; // 3차원 문자열 배열
: []안에 아무것도 없으면 1차원 배열, 배열의 차수는 []안의 콤마수 +1
■ 배열 할당
배열형 변수 선언 후, 배열 요소를 저장하기 위한 메모리 할당 필요
(모든 참조형은 new연산자로 실제 메모리를 할당받아야 함)
arScore = new int[5]; // new int 다음에 하나의 크기 지정, 정수형 변수 5개 저장 가능
arSung = new int[2,3]; // new int 뒤에 행과 열을 콤마로 구분하여 지정, 정수 변수를 3개씩2묶음(총6개) 저장가능
int [] arScore = new int[5]; // 선언문과 할당문을 한 줄로 쓸수 있음
■ 배열의 초기값
힙에 할당된 배열 요소는 디폴트 값으로 초기화(디폴트 값: 각 타입의 가장 무난한 값. 정수는 0, 논리형은 false, 참조형은 null)
int [] arScore = new int[5] { 1, 2, 3, 4, 5 } // { }안에 초기값 나열 가능
int [] arScore = new int[] { 1, 2, 3, 4, 5 } // 크기 5 생략 가능. 컴파일러가 개수를 세어 보고 배열의 크기 자동으로 결정
int [] arScore = { 1, 2, 3, 4, 5 } // 초기값 리스트가 있는 경우 new 연산자 빼고 초기값 리스트만 나열 가능
1) 배열의 초기값은 최초할당 할 때 딱 한번 지정 가능. 할당 후 변경 불가
2) 재초기화 시에는 값을 일일이 대입해야 함
string[,] arCity = {
{"서울", "용인", "수원", "의정부"},
{"춘천", "홍천", "평창", "양구"},
{"대전", "합덕", "논산", "당진"},
}; // 2차원 배열의 초기화, 각 행의 초기값 개수는 일치해야 함
■ 배열 요소의 참조
[]안에 읽고자 하는 요소의 첨자를 적는다. 상수, 변수 다 가능. 첨자는 0부터 시작하며, 최대 첨자는 배열 크기보다 1 작다.
배열에서 유효한 첨자는 0 ~ N-1.
using System;
namespace ex0309
{
class Program
{
static void Main(string[] args)
{
int[] ar; //정수형 배열 선언
ar = new int[5]; //크기 5로 할당
for (int i = 0; i < 5; i++)
{
ar[i] = i * 2;
}
for (int i = 0; i < 5; i++)
{
Console.WriteLine(ar[i]);
}
}
}
}
■ 배열의 메서드
System.Array 클래스로부터 상속받음.
'PROGRAMMING > C#.NET' 카테고리의 다른 글
Constructor and Destructor (0) | 2011.03.12 |
---|---|
static and instance (0) | 2011.03.11 |
chap.3 타입 1.값 타입 (0) | 2011.03.08 |
[0304과제] 연산자 종류(C, C#) (0) | 2011.03.06 |
[0304과제] 자료형(type)의 종류 (0) | 2011.03.06 |