배열 (1)

Array

배열 개념

배열 이것을 가장 간단하게 설명하면 그것은 “변수“이다.
즉 배열도 일반적인 변수처럼 데이터를 저장하는 것이 주된 목적이다.
그러나 일반 변수와 가장 큰 차이점은 1개 데이터가 아닌 다수의 데이터를 저장할 수 있다는 것이다. 또한 동일한 자료형의 다수의 데이터를 저장한다.
요약해 보면 배열이란 여러 개의 동일한 데이터 타입의 변수를 모아 놓은 것이라고 할 수 있겠다.

필요성

예컨대 , 우리 반 학생들(30명이라 가정하자)의 국어 점수를 저장한다면 int 타입의 변수를 30 개 만들어야 할 것이다. 변수 30 개를 선언하고 작성하는 것은 지겹고 힘든 일이다. 그것을 기억하기도 어려울 것이다.
이런 경우에 배열을 이용하면 간단하게 해결할 수 있다.
즉 , 같은 자료형의 변수가 여러 개가 필요하다면 배열을 이용하여 메모리에 저장 공간을 한 번에 확보하는 것이 가능하다.

학습 사항

배열에서 알아야 할 것은 크게 배열의 선언 , 배열의 사용 , 배열의 초기화 등 3가지 정도로 분류해 볼 수 있다. 일단은 개략적으로 예제를 통해서 봅시다.

1.배열 선언

int member [3] ;
위 예제는 int 타입의 변수 3 개를 배열인 member 를 이용하여 한번에 메모리에 저장 공간을 마련하는 것이다. 즉 ,이름이 member 이고 int 타입의 변수 3 개로 구성된 배열을 선언 하는 것이다.

2.배열 사용

member [0] , member [1], member [2]
위 예제와 같이 이름 member 와 인덱스(index)를 이용하여 배열의 요소들에 접근하여 사용이 가능하다. 나중에 강조 하겠지만 인덱스는 1이 아니라 0 부터 시작한다는 것이다.

3.배열 초기화

int array [3] = { 1,2,3 } ;
배열도 변수이다. 따라서 일반적인 변수 초기화처럼 초기화 과정이 필요하다.

배열 선언

배열은 보통의 변수와 달리 다수의 데이터를 저장할 수 있다. 여러 개의 변수가 집합이 되어 있는 것이 배열이기 때문이다. 배열도 본질은 변수다. 따라서 배열을 사용하기 위해서는 우선 배열을 선언하여 메모리에 저장 공간을 확보해야 한다.

선언 방법

int array [4] ;
위의 선언의 의미는 다음과 같다.
int 타입 변수 4 개로 구성되고 이름이 array 인 배열을 선언한다.
위의 예처럼 선언을 위해선 3 가지가 필요하다.

  • int 는 배열 구성 요소의 자료형(데이터 타입)이다.
  • array 는 배열의 이름이다. 이름은 변수 이름을 만드는 규칙과 같다.
  • [4] 는 배열의 길이이다.

배열을 선언하면 메모리에는 아래와 같이 연속된 형태로 메모리에 공간이 확보된다. 일반적인 변수 선언의 경우 변수마다 각각 이름과 저장 공간이 메모리에 할당된다. 그러나 배열의 경우 저장 공간이 메모리에 연속적으로 할당되며 그 할당된 공간의 이름이 배열의 이름이다.

array [0]array[1]array[2]array[3]
길이가 4인 배열

선언에 관한 또 다른 예제를 통하여 선언에 익숙해 봅시다.

예제

int A [7] ; // 길이가 7인 int 타입의 배열인 A 를 선언한다.
float B [10] ; // 길이가 10인 float 타입 배열인 B 를 선언한다.
double C [11] ; // 길이가 11인 double 타입 배열인 C를 선언한다.