본문 바로가기

프로그래밍 언어/C

C언어 리터럴의 종류: 정수, 실수, 문자, 문자열 리터럴

C언어 리터럴의 종류: 정수, 실수, 문자, 문자열 리터럴

C언어에서 리터럴(literal)은 프로그램 코드에 직접적으로 표현된 고정된 값입니다. 정수, 실수, 문자, 문자열 리터럴 등 다양한 종류가 있으며, 각 리터럴은 데이터의 표현 방식과 용도에 따라 달라집니다. 이 글에서는 C언어 리터럴의 종류를 체계적으로 살펴보고, 각 리터럴의 특징과 활용 방법을 알아보겠습니다.

 

 

목차

  1. 정수 리터럴
  2. 실수 리터럴
  3. 문자 리터럴
  4. 문자열 리터럴
  5. 리터럴과 데이터 타입
  6. 리터럴과 메모리
  7. 리터럴 사용 시 주의사항

 

정수 리터럴

정수 리터럴은 10진수, 8진수, 16진수로 표현할 수 있습니다. 예를 들어:

  • 10진수: 123
  • 8진수: 0123 (앞에 0을 붙임)
  • 16진수: 0x123 (앞에 0x를 붙임)

정수 리터럴은 기본적으로 int 타입으로 간주되며, 필요에 따라 long 또는 unsigned를 사용할 수 있습니다.

 

 

 

실수 리터럴

실수 리터럴은 소수점이나 지수 표기법을 사용하여 표현합니다. 예:

  • 소수점: 3.14
  • 지수 표기법: 1.23e4 (즉, 1.23 × 10^4)

실수 리터럴은 기본적으로 double 타입이며, f 또는 F를 붙이면 float로 간주됩니다. 예: 3.14f.

 

 

 

문자 리터럴

문자 리터럴은 단일 문자를 작은따옴표(')로 감싸 표현합니다. 예: 'A'.

  • 문자 리터럴은 내부적으로 정수값(ASCII 코드)으로 저장됩니다. 예: 'A'는 65로 저장
  • 이스케이프 시퀀스를 사용할 수 있습니다. 예: '\n' (줄 바꿈), '\t' (탭)

 

 

 

문자열 리터럴

문자열 리터럴은 큰따옴표(")로 감싸 표현합니다. 예: "Hello, World!".

  • 문자열 리터럴은 문자 배열(char[])로 처리됩니다.
  • 문자열 끝에는 자동으로 널 문자(\0)가 추가됩니다.

 

 

 

 

리터럴과 데이터 타입

리터럴의 타입은 데이터 크기와 메모리 효율성에 영향을 미칩니다. 아래는 주요 리터럴과 데이터 타입의 매칭 예입니다:

리터럴 기본 타입
정수 int 123
실수 double 3.14
문자 char 'A'

 

 

 

리터럴과 메모리

리터럴은 프로그램 실행 시 메모리에 저장됩니다. 예를 들어, 문자열 리터럴은 읽기 전용 메모리 영역에 저장되어 수정할 수 없습니다. 이 점은 메모리 관리와 효율성 측면에서 중요합니다.

 

 

 

리터럴 사용 시 주의사항

리터럴 사용 시 다음을 주의해야 합니다:

  1. 정수 리터럴에서 데이터 타입 범위를 초과하지 않도록 주의
  2. 문자열 리터럴을 수정하려고 하면 오류 발생
  3. 이스케이프 시퀀스를 올바르게 사용