업데이트:

서식 지정자란?

 서식 지정자란 컴퓨터가 데이터를 어떻게 해석할지 서식을 지정해주는 지정자를 말한다. 예를들어 숫자 101은 2진법으로 5, 8진법으로 65, 16진법으로 257, 10진법으로 101을 의미한다.

 우리가 일상적으로 사용하는 ‘숫자’란 일반적으로 10진수 체계를 말한다. 그러나 컴퓨터는 0과 1의 2진수 체계를 사용하고, 큰 수를 표현하기 곤란한 2진법을 보완하기 위해 8진법과 16진법이 사용된다.

 숫자의 진법 변환 문제 이외에도 실수의 표현, ASCII 코드, 메모리 주소 등 ‘숫자’는 프로그래밍에서 많은 용도로 사용되고 있기 때문에 컴퓨터가 숫자의 의미를 구별할 수 있도록 지정해주는 일이 필요하다. 이를 가능케 하는 것이 바로 서식 지정자이다.

 서식 지정자는 %기호를 사용하고 같이 뒤에 자료형을 뜻하는 약자를 붙여 자료형을 지정한다.

서식 지정자 목록

 다음은 주로 사용하는 서식 지정자 목록이다.

서식 지정자 설명
%d 부호가 있는 10진수 정수 (Decimal)
%u 부호가 없는 10진수 정수 (Unsigned Decimal)
%o 부호가 없는 8진수 정수 (Octal)
%x 부호가 없는 16진수 정수, 소문자 사용 (Hexadecimal)
%X 부호가 없는 16진수 정수, 대문자 사용 (Hexadecimal)
%f 10진수 실수 (Float)
%c 문자 (Character)
%s 문자열 (String)
%p 16진수 8자리, 포인터 값 (Pointer)
%% % 문자 출력


 이 외에도 많은 서식 지정자가 있으나 위 목록의 내용만 알고 있어도 오늘날에는 큰 문제가 생기지 않을것이다. 현대에 사용되는 대부분의 프로그래밍 언어에서 서식 지정자는 생략할 수 있거나 존재하지 않고, 변수의 자료형 단독으로도 의도대로 작동하도록 만들어져 있다.

 오늘날 대부분의 프로그래밍 언어에 영향을 준 C언어에서 이어진 문법이기 때문에 현대 프로그래밍 언어에서도 종종 사용하는 %d, %f, %c, %s 등은 익히는것이 좋을것이라고 생각한다.