printf함수의 기본적인 이해
우리는 앞서 문자열 출력을 위해 printf함수를 이용하였다.
(문자열 : 하나하나의 문자들이 연속적으로 이어져 있는 형태)
그런데 이 함수는 보다 많은 기능을 제공하기 때문에 우리는 앞으로도 이 함수를 많이 이용할 것이다.
이 함수의 다른 기능들을 살펴보자
printf함수를 이용한 정수의 출력과 서식문자
printf 함수를 이용하면 문자열 외에도 여러 데이터를 다양한 형태로 출력이 가능하다.
다음의 예제를 살펴보자
printf함수의 설명을 진행하기에 앞서 5번 줄의 끝을 살펴보면 \n 이라는 코드가 들어가있다.
이는 Escape Sequence라는 특수문자 중 하나인데 , 여러개의 이스케이프 시퀀스 중 하나인 \n은 개행하라( 줄을 바꾸라) 라는 의미로 사용된다.
지금은 이해가 안되도 실행결과창을 보면 이해가 훨씬 쉬울것이다.
코드를 살펴보자 , return이 int형이고 입력이 void형인 main함수를 선언하고 몸체부에 printf 함수3 번 이용하였다.
첫번쨰 printf 함수이용은 우리가 앞글에서 봤던것과 같이 문자열 출력을 위해 사용하였고
두번쨰 printf 함수와 세번째 printf 함수를 주목하자
printf("%d" , 1234);
printf('%d %d \n", 10,20); \n은 줄을 바꾸라는 의미고.... 나머지는 뭔소리인지 1도 모를수도 있다
일단 실행해보도록 하자.
결과를 살펴보자 ,
음 , 첫번째 printf함수는 우리가 예상했던대로 Hello world!를 출력했고 , 두번째 세번째 printf함수는 갑자기 숫자가 출력되었다.
실행결과를 통해 우리는 printf함수를 이용하여 문자열 뿐만 아니라 정수데이터도 출력이 가능함을 알 수있다.
일단 5행에서 이루어진 문자열의 인자전달과 관련해서 다음과 같이 정리가 가능하다.
"Hello World! \n"
↓
↓ →→ printf("Hello World! \n")
printf( 인자 전달 장소)
위의 정리와 같이 , printf함수는 첫번째 인자로 전달된 문자열을 출력한다.
여기서의 인자는 " Hello World! \n" 이다.
마찬가지로 6행을 살펴보자 , 6행 또한 printf 함수의 첫번쨰 인자로 문자열을 전달하며 출력을 요청한다.
그런데 문자열의 형태가 다음과 같다. " %d "
문자열에서 첫번째로 등장한 것이 %d 이다 . 이러한 문자를 가리켜 서식문자(Conversion Specifier)라고 한다. (서식문자는 정말 중요하니 꼭 꼭 기억해두자!!)
이는 출력의 형태를 지정하는 용도로 사용한다 , 그런데 출력의 형태를 지정하려면 출력할 대상이 있어야 하는것 아닌가?
6행에서 " , " 뒤에 1234를 발견할수있다 , 그렇다 1234가 출력할 대상이다.
(함수 호출시 전달되는 인자는 ,(콤마)로 구분한다.)
그렇다면 %d가 지정하는 출력 형태는 무엇인가? %d의 d는 decimal(10진수의) 준말로 10진수 정수형태의 출력을 가리킨다.
이제 7행을 살펴보자
7행은 6행과 달리 서식문자 %d가 두 개 존재한다 , 즉 출력대상이 2개라는 것이다.
printf("%d %d ",10,20); (\n 개행은 설명 편의상 잠시 뺏다)
7행을 보면 , 첫번째 %d 서식문자에 10이 들어가고 두번쨰 %d에 20이 들어간다.
위에서 소개한 %d 이외에도 많은 서식문자가 존재하며 이용되는데 , 이들에 대해서는 추후에 설명하도록 하겠다.
'Programming > C Language' 카테고리의 다른 글
변수의 자료형 (Data Type) (0) | 2017.10.30 |
---|---|
변수 (Variable) 란 ? (0) | 2017.10.30 |
프로그램 기본구성 (0) | 2017.10.30 |
C언어란? (0) | 2017.10.30 |
공부하기에 앞서... (0) | 2017.10.30 |