C에서 리터럴은 변수에 할당되는 상수 값입니다. 리터럴은 수정할 수 없는 고정 값을 나타냅니다. 리터럴에는 메모리가 포함되어 있지만 변수로서의 참조는 없습니다. 일반적으로 용어, 상수 및 리터럴은 모두 같은 의미로 사용됩니다.
예를 들어 const int = 5;는 상수 표현식이고 값 5는 상수 정수 리터럴이라고 합니다.
C 리터럴 유형
C에는 4가지 유형의 리터럴이 있습니다.
- 정수 리터럴
- 부동 리터럴
- 문자 리터럴
- 문자열 리터럴
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++