Page 32 -
P. 32
문장은 여러 번 나올 수 있지만, 오브젝트와 함수를 정의하는 문장은 고유해야 한다. C 프로그램
이 제대로 작동하려면 프로그램에서 사용하는 함수와 오브젝트는 반드시 정의되어 있어야 한다
(그렇지 않으면 실행할 내용을 찾을 수 없기 때문이다). 또한 정의는 하나만 있어야 한다(그렇지
않으면 실행의 일관성이 깨질 수 있다).
TAKEAWAY 2.9 정의는 오브젝트와 함수마다 딱 하나씩 있어야 한다.
2.4 문장
예제의 main 함수에서 두 번째 부분은 문장으로 구성된다. 문장(statement)은 지금까지 선언된 식별
자를 다루는 방법을 컴파일러에게 알려 준다. 예제에서 문장은 다음과 같이 구성돼 있다.
getting-started.c
16 for (size_t i = 0; i < 5; ++i) {
17 printf("element %zu is %g, \tits square is %g\n",
18 i,
19 A[i],
20 A[i]*A[i]);
21 }
22
23 return EXIT_SUCCESS;
C
printf 함수를 호출하는 부분은 앞에서 살펴봤다. 이번에는 for와 return, ++ 연산자(operator) 로
표현한 증가 연산(increment operation)이 나오는데, 이들은 printf와는 성격이 좀 다르다. 이어지
는 절에서 이러한 세 가지 문장, 즉 작업을 여러 번 수행하는 반복문(iteration), 어떤 일을 다른 곳
에서 실행하도록 위임하는 함수 호출문(function call), 함수가 호출된 지점으로 돌아가서 실행을 재
개하는 함수 리턴문(function return)에 대해 하나씩 살펴본다.
2.4.1 반복
앞에 나온 예제에서 for문은 printf문을 여러 번 실행하라고 컴파일러에게 알려 준다. C 언어에
C
서 정의하는 도메인 반복(domain iteration) 의 가장 간단한 형태이며, 크게 네 부분으로 구성된다.
C
반복할 코드를 루프 바디(loop body) 라고 부르며, for (...) 뒤에 나오는 {...} 블록으로 표현한
다. 나머지 세 부분은 다음과 같으며 (...) 안에서 각각을 세미콜론(;)으로 구분한다.
36
모던c.indd 36 2021-12-29 오후 2:32:58