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