Page 45 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 45

배열의 요솟값을 초기화하며 배열 선언하기

                        배열의 각 요소에 넣을 값을 미리 알고 있다면 선언할 때 초기화(initializer)할 수 있습니다. 다
                        음 프로그램을 통해 실습해 보겠습니다.


                          실습 2-2                                                •완성 파일 chap02/intary_init.c
                         01  /* 배열의 요소 개수와 각 요소의 값을 출력합니다. */
                                                                                     실행 결과
                         02  #include <stdio.h>
                                                                               배열 a의 요소 개수는 5입니다.
                         03
                                                                               a[0] = 1
                         04  int main(void)
                                                                               a[1] = 2
                         05  {                                                 a[2] = 3
                         06    int i;                                          a[3] = 4
                         07    int a[5] = {1, 2, 3, 4, 5};                     a[4] = 5
                         08    int na = sizeof(a) / sizeof(a[0]); /* 요소의 개수 */
                         09    printf("배열 a의 요소 개수는 %d입니다.\n", na);
                         10
                         11    for(i = 0; i < na; i++)
                         12      printf("a[%d] = %d\n", i, a[i]);
                         13
                         14    return 0;
                         15  }



                        배열 a를 초기화하는 부분(초록색 박스)을 눈여겨 살펴보겠습니다. 각 요소에 대한 초기화를 처
                        음부터 순서대로 쉼표(,)로 구분하여 줄지어 놓고 { }로 둘러싼 부분입니다. 이렇게 하면 배열 a

                        의 요소 a[0], a[1] a[2] a[3] a[4]는 각각 처음부터 순서대로 1, 2, 3, 4, 5로 초기화됩니다.


                        배열의 요소 개수 구하기

                        이 프로그램은 배열을 일단 선언한 후에 그 요소 개수를 구합니다. 배열의 요소 개수는
                        sizeof(a) / sizeof(a[0])로 구해 변수 na에 대입하면 됩니다. 그림 2-3에서 볼 수 있듯이
                        sizeof(a)로 전체 배열이 할당된 메모리 크기를 구하고, sizeof(a[0])로 첫 번째 요소가 할당된
                        메모리 크기를 구할 수 있습니다.

                           int형이 4바이트라면 전체 배열 크기는 20바이트, 첫 요소의 크기는 4바이트입니다. 그러므로 20/4에서 배열의 요소 개
                        수인 5를 얻을 수 있습니다.


                         배열의 요소 개수를 구하는 공식
                                                   sizeof(a[0])   a[0]
                         sizeof(a) / sizeof(a[0])
                                                   요소의 크기         a[1]     sizeof(a)
                                                                  a[2]
                                                                  a[3]       배열 전체의 크기
                                                                  a[4]

                                           [그림 2-3] 배열의 요소 개수를 구하는 방법
                                                                                      02• 기본 자료구조  45
   40   41   42   43   44   45   46   47   48   49   50