Page 43 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 43
다. 배열은 같은 자료형의 변수로 이루어진 요소(element)가 모여 직선 모양으로 줄지어 있는
자료구조입니다. 배열 요소의 자료형은 int형이나 double형 등 어떤 형이든 상관없습니다.
시험 점수는 정수 값이므로 요소의 자료형이 int형인 배열을 예로 들어 살펴보겠습니다. 배열
은 아래의 방식으로 선언합니다.
자료형 배열 이름[요소 개수]; /* 배열의 선언 */
예컨대 요소의 자료형이 int형이고, 요소 개수가 5개인 배열은 아래와 같이 선언합니다.
int a[5]; /* a는 요소의 자료형이 int형이고 요소 개수가 5개인 배열 */
요소 개수는 상수만 사용할 수 있습니다(변수는 사용할 수 없습니다).
조금만 더! 상수식은 언제 계산되나요?
상수식(constant expression)은 상수만을 포함하는 식으로, 실행 시점(run-time)이 아닌 컴파일 시점
(compile-time)에 계산됩니다.
int형 변수 5개를 모아 만든 int[5]형 배열 0 0 a[0]
1 0 a[1]
요소의 자료형 2 0 a[2] 개별 요소
요소 개수 3 0 a[3]
int a[5]; 인덱스 4 0 a[4]
[그림 2-2] 배열은 같은 자료형의 요소가 직선 모양으로 연속하여 줄지어 있는 간단한 자료구조입니다.
요소와 인덱스
배열의 모든 요소는 직선 모양으로 줄지어 있습니다. 이러한 배열의 개별 요소에 접근하기 위
해 사용하는 것이 연산자 [ ] 안에 넣는 정수형 인덱스입니다. 첫 번째 배열 요소의 인덱스는 0
으로 정해져 있습니다. 따라서 각 요소에 접근하는 식은 처음부터 순서대로 a[0], a[1], a[2],
a[3], a[4]입니다. 다시 말해 표현식 a[i]는 배열 a에서 처음부터 i개 뒤의 요소에 접근합니다.
배열 이름[인덱스] /* 배열의 요소에 접근하는 식 */
요소가 n개인 배열의 요소는 a[0], a[1], …, a[n-1]입니다. a[n]은 존재하지 않습니다.
02• 기본 자료구조 43