C언어 리터럴의 종류와 사용법, 코드에서의 데이터 정의
C 언어에서 리터럴(Literal)은 프로그램 안에서 값 그 자체를 나타내는 데이터입니다. 변수 없이도 직접 사용할 수 있고, 컴파일러에 의해 고정된 값으로 처리되며, 프로그램의 의미를 보다 명확하게 전달하는 핵심적인 요소입니다. 이 문서에서는 C 언어에서 사용되는 다양한 리터럴의 유형과 그 정확한 사용법 및 주의점을 풍부한 예제와 함께 상세히 설명합니다.

목차
- 리터럴이란 무엇인가?
- 정수형 리터럴 (Integer Literal)
- 실수형 리터럴 (Floating-point Literal)
- 문자형 리터럴 (Character Literal)
- 문자열 리터럴 (String Literal)
- 이스케이프 시퀀스와 리터럴
- 리터럴 사용 시 주의사항 및 모범 사례
1. 리터럴이란 무엇인가?
리터럴(literal)은 C 프로그램 내에서 변경되지 않는 상수값을 의미합니다. 변수와는 달리 메모리에 고정된 값으로 존재하며, 프로그램 내의 의미를 보다 명확하게 전달합니다.
예시:
int x = 10; // 여기서 10이 리터럴
- 고정된 값으로 사용됨
- 타입에 따라 분류됨 (정수, 실수, 문자 등)
- 초기화나 조건 비교 등 다양한 곳에서 활용
2. 정수형 리터럴 (Integer Literal)
정수형 리터럴은 정수 값을 표현합니다. 기본적으로 10진수지만 다른 진수도 사용 가능합니다.
| 형식 | 예시 | 설명 |
|---|---|---|
| 10진수 | 42 | 기본 정수형 표현 |
| 8진수 | 052 | 0으로 시작하는 수 (8진수) |
| 16진수 | 0x2A | 0x 또는 0X로 시작 (16진수) |
Tip: 정수형 리터럴은 후위 접미사 U, L, UL을 통해 자료형을 명시적으로 설정할 수 있습니다.
3. 실수형 리터럴 (Floating-point Literal)
소수점이 있는 숫자 또는 지수 형태로 표현됩니다.
- 10.5, -3.14, 2.0e3 등의 형태
- 기본적으로 double 타입
- 접미사
f또는F를 사용하면 float 리터럴
float pi = 3.14f;
double big = 1.23e6;
4. 문자형 리터럴 (Character Literal)
작은 따옴표 ' '로 감싸서 표현합니다. 내부적으로는 ASCII 코드값으로 저장됩니다.
char ch = 'A'; // 65로 저장됨
문자형 리터럴은 다음 특성을 가집니다:
- 한 글자만 허용
- 이스케이프 문자를 포함할 수 있음
- 정수처럼 연산 가능

5. 문자열 리터럴 (String Literal)
큰 따옴표 " "로 감싸서 여러 문자들을 문자 배열로 나타냅니다.
char *msg = "Hello, world!";
문자열 리터럴은 널 문자('\0')로 자동 종료되며, 상수로 취급되어 변경할 수 없습니다.
6. 이스케이프 시퀀스와 리터럴
이스케이프 시퀀스는 문자나 문자열 리터럴 안에서 특수 기능을 수행하는 문자입니다.
\n: 줄 바꿈\t: 탭\\: 백슬래시\": 큰따옴표
printf("Hello\nWorld");
7. 리터럴 사용 시 주의사항 및 모범 사례
- 매직 넘버(Magic Number)를 피하고 의미 있는 매크로나 상수 사용
- 정확한 자료형에 맞는 리터럴 작성 (예: float에는 접미사 f)
- 문자열은
const로 선언하여 의도치 않은 변경 방지
예를 들어 다음과 같이 사용하는 것이 좋습니다:
#define PI 3.141592f
const char *greeting = "Welcome";'프로그래밍 언어 > C' 카테고리의 다른 글
| C언어 변수 심화, 포인터와의 관계 이해하기 (0) | 2025.06.07 |
|---|---|
| C언어 상수와 매크로, 차이점과 사용 사례 (0) | 2025.05.04 |
| C 언어 char 타입, 문자 데이터 저장과 ASCII 코드 활용 (0) | 2025.04.27 |
| C 언어 실수형 데이터 타입 정리: float, double, long double (0) | 2025.04.21 |
| C 언어 정수형(Integer Types) 크기, 범위, 활용법 (0) | 2025.04.15 |