(자료구조) 배열 (Array)
자료구조

(자료구조) 배열 (Array)

1. Array 란?

배열은 동일한 타입을 가지는 변수들의 유한 집합이다.

배열을 선언하는 기본 형식은 다음과 같다.

일반 변수 선언문과 동일하되 변수명 뒤에 [ ] 괄호(bracket)와 배열 크기 지정문이 온다는 것만 다르다.

배열 선언문에 [ ] 괄호가 하나 있으면 1차원 배열이고 두 개 있으면 2차원 배열이라고 한다.

배열의 장점은 여러개의 변수를 만들필요없이 한개의 변수와 그에 해당하는 번호(index)만 알면 

언제든지 해당값을 쓰거나 읽을수가 있다.

 

 

2. Array 의 구성 요소

배열은 크게 자료형(type), 크기(size), 이름(배열명), 원소(element)로 나눠진다.



배열의 선언은 다음과 같다.

type 배열명[크기][크기]...;

type은 어떤 타입의 변수들이 모여 있는지를 지정하는데 정수형 변수들의 모임이면 int, 실수형 변수들의 모임이면 double이라고 적는다.

기본형 외에도 포인터, 구조체, 사용자 정의형 등 임의의 타입이 모두 배열을 구성할 수 있다. 타입 T가 있으면 T형 배열은 언제나 가능하며 심지어 배열의 배열도 선언할 수 있다.

배열명은 말 그대로 배열의 이름이다. 배열명도 명칭이므로 명칭 규칙에 맞게만 작성하면 된다. 관습적으로 배열명에는 ar이나 a같은 접두어를 붙여 이 변수가 배열이라는 것을 쉽게 알 수 있도록 한다. 점수들의 배열이라면 arScore, 사람 이름의 배열이라면 arName, 좌표의 배열이라면 arPos 등으로 이름을 붙인다.

크기는 이 배열이 몇 개의 요소를 가지는지, 즉 몇 개의 변수가 모여서 배열을 구성하는지를 지정하는데 자연수로 된 상수를 적어 준다. 개수이기 때문에 음수나 실수는 당연히 안되며 선언할 때 필요한 메모리양을 계산할 수 있어야 하므로 반드시 상수만 쓸 수 있다. 배열의 차원만큼 크기를 지정하되 1차원 배열이면 [ ] 괄호를 한 번만 써 준다. 

 

 

다음은 배열 선언의 여러 가지 예이다.

 

int ar[5];                // 크기가 5인 정수형 배열 ar

double avg[10];      // 크기가 10인 실수형 배열 avg

char st[128];          // 크기가 128인 문자형 배열 st

 

배열 요소(Element)는 배열을 구성하는 각각의 개별 변수이다. 

 

int ar[5] 선언에 의해 ar[0]부터 ar[4]까지 정수형 배열 요소 다섯 개가 동시에 생성된다. 

 

배열 요소는 동일한 타입을 가지는 변수와 완전히 같은 자격을 가진다. 

 

즉, ar[0]는 int형으로 선언된 변수 i나 j와 같은 정수형 변수로서 정수값 하나를 저장할 수 있으며 i, j가 사용될 수 있는 곳이면 ar[0]도 항상 사용할 수 있다