
C언어를 학습할 때 가장 먼저 접하게 되는 출력 함수가 printf() 함수이다.
이때 자주 사용되는 서식 지정자가 %c와 %s이다.
두 서식 지정자는 모두 문자를 출력한다는 공통점이 있지만,
실제로는 출력 대상과 메모리 구조가 완전히 다르다.
이 차이를 이해하려면 먼저 문자와 문자열의 개념을 알아야 한다.
1️⃣ 문자(Character)
char ch = 'A';
문자(Character)는 하나의 글자를 의미한다.
C언어에서는 문자를 저장할 때 char 자료형을 사용한다.
🔷 특징
1. 문자 1개만 저장 가능
char ch = 'A';
char 변수는 오직 문자 하나만 저장할 수 있다.
2. 작은따옴표 사용
문자는 반드시 작은따옴표 ' ' 로 표현한다.
3. 내부적으로 ASCII 코드 저장
문자 ASCII 코드
A 65
B 66
a 97
char ch = 'A';
문자는 실제로 메모리에 숫자로 저장된다. 즉 위 코드는 실제로는 숫자 65가 저장된다.
🔷 %c
%c는 character의 약자이다. 즉 문자 1개를 출력할 때 사용하는 서식 지정자이다.
#include <stdio.h>
int main() {
char ch = 'K';
printf("%c", ch);
return 0;
}
실행 결과
K
2️⃣ 문자열(String)
"KOREA"
"C언어"
문자열(String)은 여러 문자가 연결된 형태이다.
문자열은 문자 여러 개의 집합이라고 볼 수 있다.
🔷 특징
1. 문자열은 char 배열로 저장
char str[] = "HELLO";
C언어에는 문자열 전용 자료형(string)이 존재하지 않는다.
따라서 문자열은 char 배열로 저장한다.
2. 문자열의 마지막에는 자동으로 널 문자(\0) 저장
char str[] = "HELLO";
인덱스 값
str[0] H
str[1] E
str[2] L
str[3] L
str[4] O
str[5] \0
메모리는 위와 같이 저장된다.
문자열의 마지막에는 자동으로 \0이 저장된다.
이를 널 문자(null character)라고 한다.
이 문자를 통해 컴퓨터는 문자열의 끝을 판단한다.
🔷 %s
%s는 string의 약자이다. 즉 문자열 전체를 출력할 때 사용하는 서식 지정자이다.
#include <stdio.h>
int main() {
char str[] = "HELLO";
printf("%s", str);
return 0;
}
실행 결과
HELLO
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'코딩일기' 카테고리의 다른 글
| CCS 충전이란? 전기차 급속충전 표준 쉽게 이해하기 (0) | 2026.05.30 |
|---|---|
| AI 시대의 만능 어댑터, MCP(Model Context Protocol)란? | AI가 내 파일을 직접 읽는 방법 (0) | 2026.04.23 |
| 플랫폼이란 무엇인가? | IT에서 말하는 플랫폼 개념 쉽게 이해하기 (0) | 2026.03.06 |
| UI 컴포넌트 가이드 | 모달·스낵바·토스트·팝업·바텀시트 차이점 총정리 (0) | 2026.01.06 |
| 원페이지 스크롤(One Page Scroll)이란? (0) | 2026.01.05 |