Page 31 -
P. 31
A는 여러 요소로 구성되어 있어서 이보다 좀 복잡하다.
getting-started.c
8 double A[5] = {
9 [0] = 9.0, 2
10 [1] = 2.9,
11 [4] = 3.E+25,
12 [3] = .00007, 프로그램의 핵심 구조
13 };
이렇게 하면 A를 구성하는 다섯 요소의 값은 각각 9.0, 2.9, 0.0, 0.00007, 3.0E+25가 된다.
그림 2-3 배열 A의 구조
[0] [1] [2] [3] [4]
A double 9.0 double 2.9 double 0.0 double 0.00007 double 3.0E+25
C
이런 방식을 지정 초기자(designated initializer) 라 부른다. 즉, 초기화할 배열 원소를 대괄호 안의
정수로 지정해서 해당 원소의 값을 초기화한다. 예를 들어 [4] = 3.E+25라고 적으면 배열 A의 마
지막 원소의 값을 3.E+25로 지정한다. 또한 C 언어 규칙에 따르면 초기자로 지정하지 않은 원소
값은 0으로 설정된다. 예제에서 [2]가 이 경우에 해당하며 값이 0.0으로 설정된다. 2
TAKEAWAY 2.7 초기자에서 값을 지정하지 않은 원소는 디폴트 값인 0으로 지정된다.
C
여기서 볼 수 있듯이 배열의 위치(index) 를 표현할 때 첫 번째 원소는 1이 아닌 0부터 시작한다.
인덱스는 배열의 시작점으로부터 떨어진 거리로 생각하면 기억하기 쉽다.
TAKEAWAY 2.8 원소가 n개인 배열에서 첫 번째 원소의 인덱스는 0이고, 마지막 원소의 인덱스는
n-1이다.
함수를 정의하려면 선언문 뒤에 함수 코드를 중괄호({...})로 묶어서 적으면 된다.
int main(void) {
...
}
지금까지 살펴본 예제에서는 두 가지 요소에 대해 이름 짓는 방법을 살펴봤다. i와 A는 오브젝트
C
C
(object) 를 가리켰고, main과 printf는 함수(function) 를 가리켰다. 오브젝트와 함수를 선언하는
2 소수점(.)과 지수(E+25)가 있는 숫자 리터럴에 대해서는 뒤에서 설명한다.
35
모던c.indd 35 2021-12-29 오후 2:32:58