본문 바로가기
정보&팁

C 언어 형식 지정자 총정리! 🖥️

by 가능성의 꾸꾸 2025. 2. 7.
728x90
반응형

안녕하세요 꾸꾸입니다!

C 언어에서 출력(printf)과 입력(scanf) 을 사용할 때, 데이터를 원하는 형식으로 다루기 위해 형식 지정자(format specifier) 를 사용합니다. 형식 지정자는 숫자, 문자, 문자열 등 다양한 데이터를 다룰 때 필수적입니다. 이번 글에서는 C 언어의 형식 지정자 종류와 활용법을 알기 쉽게 정리해 보겠습니다! 🚀


📌 형식 지정자란?

형식 지정자는 printf 또는 scanf와 같은 함수에서 데이터를 어떤 형태로 다룰지 결정하는 기호입니다. 예를 들어, printf("%d", 10);과 같이 사용하면 10진수 정수를 출력하게 됩니다.

형식 지정자는 크게 정수, 실수, 문자/문자열, 포인터 및 기타 로 나눌 수 있습니다.


🏆 정수(Integer) 형식 지정자

형식 지정자데이터 타입설명

%d int 부호 있는 10진수 정수
%i int 10진수 정수 (대체 가능)
%u unsigned int 부호 없는 10진수
%o unsigned int 8진수 정수 출력
%x unsigned int 16진수 (소문자)
%X unsigned int 16진수 (대문자)

사용 예제

int num = 42;
printf("%d", num);  // 42 출력

🔢 실수(Floating-Point) 형식 지정자

형식 지정자 데이터 타입 설명
%f float, double 기본 실수 출력
%lf double double 타입 실수 출력
%e float, double 지수 표기법 (소문자 e)
%E float, double 지수 표기법 (대문자 E)
%g float, double 자동 변환 (%f 또는 %e)

사용 예제

double pi = 3.141592;
printf("%.2f", pi); // 3.14 출력 (소수점 2자리)

🔠 문자 및 문자열(Character & String) 형식 지정자

형식 지정자 데이터 타입 설명
%c char 단일 문자 출력
%s char* 문자열 출력

사용 예제

char letter = 'A';
char str[] = "Hello";
printf("%c", letter); // A 출력
printf("%s", str);  // Hello 출력

🖥️ 포인터 및 기타 형식 지정자

형식 지정자 데이터 타입 설명
%p void* 포인터 주소 출력
%n int* 출력된 문자 개수를 저장

사용 예제

int a = 10;
printf("%p", &a); // 포인터 주소 출력

🎨 printf에서 필드 너비 및 정밀도 조정

옵션 설명
%-m.nf 왼쪽 정렬
%0m.nf 앞을 0으로 채움

예제

printf("%10d", 42);  // '        42' (10칸 확보, 오른쪽 정렬)
printf("%-10d", 42); // '42        ' (왼쪽 정렬)
printf("%010d", 42); // '0000000042' (앞을 0으로 채움)

🔍 scanf에서 입력 형식

형식 지정자 설명
%*d 입력된 정수를 무시
%[A-Za-z] 특정 문자 집합만 입력받음
%[^X] 'X' 문자가 나올 때까지 입력

예제

char name[10];
scanf("%9[^ ]", name);  // 공백 전까지 최대 9글자 입력받음

🚀 정리 및 마무리

C 언어에서 형식 지정자(format specifier) 를 잘 활용하면 데이터를 원하는 형식으로 자유롭게 출력하고 입력받을 수 있습니다.

📌 주요 형식 지정자 요약

  • 정수: %d, %i, %u, %o, %x
  • 실수: %f, %e, %g
  • 문자/문자열: %c, %s
  • 포인터: %p

이제 C 언어에서 형식 지정자를 자유롭게 활용해 보세요! 😊

728x90