Page 83 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 83
형을 가진 값입니다. 이 프로그램의 경우 먼저 왼쪽 피연산자 counter++를 평가하면서
counter를 증가시키고 그 다음에 오른쪽 피연산자의 식 prime[i] * prime[i] <= n을 평가합
니다. for문의 반복을 계속할지는 오른쪽 피연산자(prime[i] * prime[i] <= n)가 성립하는지의
여부에 달려 있습니다.
버전 2, 버전 3에서 소수를 저장하는 배열 prime의 개수는 500개입니다. 2 이외의 짝수는 소수가 아니므로 적어도 1,000
의 절반인 500을 배열의 요소 개수로 준비하면(2의 배수를 제외한 개수) 소수는 반드시 500개의 배열 안에 들어갈 수 있습니다.
다차원 배열
지금까지 배운 배열의 요소는 int, double 등의 단일 자료형이었습니다. 하지만 배열을 요소
로 하는 배열도 만들 수 있습니다. 배열을 자료형으로 하면 2차원 배열이고, 2차원 배열을 자
료형으로 하면 3차원 배열입니다. 물론 더 높은 차원의 배열도 만들 수 있습니다. 이렇게 2차
원 이상의 배열을 다차원 배열(multidimensional array)이라고 합니다. 지금까지 배운 ‘단일 자
료형을 가지는 배열’은 다차원 배열과 구별하기 위해 ‘1차원 배열’이라고 합니다. 그림 2-17
은 2차원 배열을 만들어내는 과정입니다. 이 과정은 다음과 같은 2개의 단계를 거칩니다.
a ⇨ b : 3개의 int형을 한데 모아 1차원 배열을 만들어냄
b ⇨ c : 4개의 1차원 배열을 한데 모아 2차원 배열을 만들어냄
각각의 자료형은 아래와 같습니다.
a int형 ‘int’를 자료형
b int[3]형 ‘int’를 자료형으로 하는 단일 요소가 3개인 배열
c int[4][3]형 ‘int’를 자료형으로 하는 단일 요소가 3개인 배열을 자료형으로 하는 요소 개수가 4개인 배열
2차원 배열은 요소가 가로, 세로로 나란히 줄지어 있어 ‘행’과 ‘열’로 구성된 표의 이미지로 나
타낼 수 있습니다. 이렇게 나타낸 배열( c )을 ‘4행 3열의 2차원 배열’이라고 합니다.
a 단일한 int형 b 1차원 배열(int[3]형) c 2차원 배열(int[4][3]형)
int형 자료형은 int형, 요소 개수는 3 자료형은 int[3]형, 요소 개수는 4
3개를 모음 4개를 모음
4행 3열의 2차원 배열
[그림 2-17] 2차원 배열의 도출
02• 기본 자료구조 83