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
   78   79   80   81   82   83   84   85   86   87   88