logo

C의 리터럴

C에서 리터럴은 변수에 할당되는 상수 값입니다. 리터럴은 수정할 수 없는 고정 값을 나타냅니다. 리터럴에는 메모리가 포함되어 있지만 변수로서의 참조는 없습니다. 일반적으로 용어, 상수 및 리터럴은 모두 같은 의미로 사용됩니다.
예를 들어 const int = 5;는 상수 표현식이고 값 5는 상수 정수 리터럴이라고 합니다.

C 리터럴 유형

C에는 4가지 유형의 리터럴이 있습니다.



  • 정수 리터럴
  • 부동 리터럴
  • 문자 리터럴
  • 문자열 리터럴

C 리터럴

1. 정수 리터럴

정수 리터럴 정수 값만 표현하고 저장하는 데 사용됩니다. 정수 리터럴은 두 가지 유형으로 표현됩니다.

가) 접두사: 정수 리터럴의 접두사는 읽을 기준을 나타냅니다.
예를 들어:



0x10 = 16

0x 접두사는 HexaDecimal 기본을 나타내기 때문입니다. 따라서 HexaDecimal의 10은 Decimal의 16입니다. 따라서 값은 16입니다.

기본적으로 4가지 유형으로 표현됩니다.



ㅏ. 10진수-리터럴(기본 10): 0이 아닌 십진수 그 뒤에는 0개 이상의 십진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)가 옵니다.

예:

이진 트리와 이진 검색 트리의 차이점
56, 78>

비. 8진수 리터럴(기본 8): 0 그 뒤에는 0개 이상의 8진수(0, 1, 2, 3, 4, 5, 6, 7)가 옵니다.

예:

045, 076, 06210>

씨. 16진수(기본 16): 0x 또는 0X 그 뒤에 하나 이상의 16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, 에프).

예:

0x23A, 0Xb4C, 0xFEA>

디. 바이너리 리터럴(기본 2): 0b 또는 0B 그 뒤에는 하나 이상의 이진수(0, 1)가 옵니다.

예:

0b101, 0B111>

나) 접미사: 정수 리터럴의 접두사는 읽을 유형을 나타냅니다.

로마 숫자 1-100

예를 들어:

12345678901234LL

접미사 LL로 인해 긴 정수 값 12345678901234를 나타냅니다.

이는 데이터 유형에 따라 다양한 방식으로 표현됩니다.

  • 정수: 정수 상수는 기본적으로 int 데이터 유형으로 지정되므로 접미사가 필요하지 않습니다.
  • 부호 없는 정수: 정수 상수 끝에 문자 u 또는 U가 있습니다.
  • 긴 정수: 정수 상수 끝에 문자 l 또는 L이 있습니다.
  • 부호 없는 긴 정수: 정수 상수 끝에 문자 ul 또는 UL이 있습니다.
  • 긴 긴 정수: 정수 상수 끝에 문자 ll 또는 LL이 있습니다.
  • 부호 없는 긴 긴 정수: 정수 상수 끝에 문자 ull 또는 ULL이 있습니다.

예:




#include> int> main()> {> >// constant integer literal> >const> int> intVal = 10;> >printf>(>'Integer Literal:%d '>, intVal);> >return> 0;> }>

>

>

산출

Integer Literal:10>

2. 부동 소수점 리터럴

이는 실수를 표현하고 저장하는 데 사용됩니다. 실수에는 정수부, 실수부, 분수부, 지수부가 있습니다. 부동 소수점 리터럴은 10진수 형식이나 지수 형식으로 저장할 수 있습니다. 부동 소수점 소수를 표현하는 동안 유효한 리터럴을 생성하려면 다음 두 가지 사항을 염두에 두어야 합니다.

  • 소수점 형식에서는 정수 부분이나 분수 부분, 또는 둘 다를 포함해야 하며, 그렇지 않으면 오류가 발생합니다.
  • 지수 형식에서는 유효숫자와 지수 부분을 모두 포함해야 하며, 그렇지 않으면 오류가 발생합니다.

몇 가지 부동 소수점 리터럴 표현이 아래에 나와 있습니다.

유효한 부동 리터럴:

10.125 1.215e-10L 10.5E-3>

잘못된 부동 리터럴:

123E 1250f 0.e879>

예:


서명되지 않은 int c 프로그래밍



#include> int> main()> {> >// constant float literal> >const> float> floatVal = 4.14;> >printf>(>'Floating point literal: %.2f '>,> >floatVal);> >return> 0;> }>

>

>

마두리가 말했다.
산출

Floating point literal: 4.14>

3. 문자 리터럴

이는 작은따옴표 안에 단일 문자를 저장하는 데 사용되는 리터럴을 나타냅니다. 여러 문자를 저장하려면 문자 배열을 사용해야 합니다. 작은따옴표 안에 두 개 이상의 문자를 저장하면 경고가 발생하고 리터럴의 마지막 문자만 표시됩니다. 이는 다음과 같은 두 가지 표현을 생성합니다.

  • 문자 유형: 이는 일반 문자 리터럴 또는 좁은 문자 리터럴을 저장하는 데 사용됩니다.

예:

char chr = 'G';>

예:




#include> int> main()> {> >// constant char literal> >const> char> charVal =>'A'>;> >printf>(>'Character Literal: %c '>,> >charVal);> >return> 0;> }>

>

>

산출:

Character Literal: A>

이스케이프 시퀀스 : 다양한 작업을 수행하는 데 사용할 수 있는 다양한 특수 문자가 있습니다.

4. 문자열 리터럴

문자열 리터럴은 여러 문자를 저장할 수 있고 큰따옴표를 사용하여 이를 저장한다는 점을 제외하면 해당 문자 리터럴과 유사합니다. 위 표에 언급된 특수 문자와 이스케이프 시퀀스도 수용할 수 있습니다. 문자열 리터럴을 사용하여 긴 줄을 여러 줄로 나눌 수 있으며 공백을 사용하여 구분할 수 있습니다.
예:

char stringVal[] = 'techcodeview.com';>

예:




자바 elseif
#include> int> main()> {> >const> char> str[]> >=>'Welcome To Geeks For Geeks'>;> >printf>(>'%s'>, str);> >return> 0;> }>

>

>

산출:

Welcome To Geeks For Geeks>

꼭 읽어야 할 내용:

  • 사용자 정의 리터럴
  • C++의 원시 문자열 리터럴
  • C의 8진수 리터럴
  • C의 복합 리터럴
  • 문자 리터럴의 유형 차이 C++