Page 20 -
P. 20

C
                 ●    따옴표 안에 있는 특이하게 생긴 텍스트를 스트링 리터럴(string literal) 이라 부르며, 출력할
                                             C
                    텍스트의 포맷(format)(서식/형식) 을 지정한다. 이 문장 안에는 % 문자로 시작하는 포맷 지
                                                 C
                    정자(format specifier)(서식/형식 지정자) 가 세 개 있는데, 숫자가 들어갈 지점을 표시한다.
                    또한 \t나 \n처럼 백슬래시로 시작하는 이스케이프 문자(escape character)(확장/탈출 문자)         C
                    도 있다.

                 ●   뒤에 나오는 i란 단어가 가리키는 값은 첫 번째 포맷 지정자인 %zu가 있는 지점에 출력된다.
                 ●    그 다음 콤마 뒤에 A[i]란 인수가 나오는데, 이 값은 두 %g 중 첫 번째에 해당하는 자리에 출
                    력된다.

                 ●   그 다음 콤마 뒤에 A[i]*A[i]란 인수가 나오는데, 이 값은 마지막 %g가 있는 지점에 출력된다.

               위 세 가지 인수에 대해서는 뒤에서 자세히 살펴보기로 하고, 일단 여기서는 이 프로그램의 주목

               적이 터미널에 텍스트 몇 줄을 출력하는 것이고, 이를 위해 printf 함수로 명령한다는 정도만 이
               해하고 넘어가자. 나머지 코드는 화면에 출력할 숫자와 그 개수를 지정하는 간편 표기법(sugar)                   C
               이다.




               1.2 컴파일하고 실행하기


               앞 절에서 살펴본 것처럼 프로그램 코드는 컴퓨터로 하고 싶은 일을 표현한 것으로, 하드디스크

               어딘가에 저장된 텍스트 문서와 다를 바 없다. 그런데 컴퓨터는 이렇게 텍스트 형태로 작성된 코
               드를 바로 이해할 수 없다. 그래서 컴파일러(compiler)라 부르는 특별한 프로그램으로 C 코드를 컴
                                                     C
                                                                          C
               퓨터가 알아들을 수 있는 형태인 바이너리(binary)  또는 실행 파일(executable) 로 번역해야 한다.
                                                                                  2
               이러한 번역 프로그램의 형태나 처리 방식은 현재 레벨에서 설명하기에는 매우 어렵다.  게다가
               이를 설명하려면 책 한 권을 써야 할 정도이므로 자세히 다룰 수도 없다. 일단 이 모든 작업을 처
               리해 주는 도구를 컴파일러라고 부른다고만 알아 두자.

                TAKEAWAY 1.2  C는 컴파일 방식 프로그래밍 언어다.
               컴파일러의 명칭과 컴파일러에서 제공하는 커맨드 라인 인수(command-line argument)(명령줄 인수)
                                            C
               는 프로그램을 실행할 플랫폼(platform) 마다 다르다. 그 이유는 간단하다. 타깃 바이너리 코드가
                                        C
               플랫폼 종속적(platform dependent) 이기 때문이다. 다시 말해 코드 형태와 세부 사항은 프로그램을


               2  여기서 말하는 ‘번역’은 여러 단계를 거쳐 진행된다. 즉, 컴파일(compile) 작업을 통해 텍스트를 변환하고, 이렇게 나온 조각들을 서로 연결하
                 는 링크(link) 과정을 거친다. 엄밀히 말해서 이 모든 작업을 처리하는 도구를 번역기(translator)라고 부르는 것이 적절하지만, 전통적으로 컴
                 파일러(compiler)라고 부른다.

         24





     모던c.indd   24                                                                           2021-12-29   오후 2:32:56
   15   16   17   18   19   20   21   22   23   24   25