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