C - 리터럴: 초보자 가이드
안녕하세요, 미래의 프로그래머 여러분! 오늘 우리는 C 프로그래밍의 세계로 흥미로운 여정을 떠납니다. 특히 리터럴에 대해 집중적으로 다룰 것입니다. 만약 이전에 코드를 작성한 적이 없다면 걱정하지 마세요 - 저는 친절한 가이드로서, 단계별로 함께 나아갈 것입니다. 이 튜토리얼이 끝나면, 여러분이 얼마나 많이 배웠는지 놀라실 것입니다!
리터럴이란 무엇인가요?
들어보기 전에, 리터럴이 무엇인지 이해해 보겠습니다. 프로그래밍에서 리터럴은 코드에 직접 나타나는 고정된 값을 의미합니다. 그들은 프로그래밍 세계의 상수와 같아 - 변하지 않고 신뢰할 수 있습니다. 이를 프로그램의 건축 블록으로 생각해 보세요.
이제 C에서 다양한 종류의 리터럴을 탐구해 보겠습니다!
정수 리터럴
정수 리터럴은 소수점이 없는 전체 숫자입니다. C에서 우리는 정수를 다양한 방식으로 표현할 수 있습니다. 다음은 몇 가지 예제입니다:
int a = 42; // 십진수 (기수 10)
int b = 052; // 팔진수 (기수 8)
int c = 0x2A; // 십陆진수 (기수 16)
int d = 0b101010; // 이진수 (기수 2, C99 이후)
이 코드에서:
-
42
은 십진수 리터럴입니다 (일상 생활에서 사용하는 것) -
052
은 팔진수 리터럴입니다 (리더 0을 주의) -
0x2A
은 십陆진수 리터럴입니다 (리더 0x를 주의) -
0b101010
은 이진수 리터럴입니다 (리더 0b를 주의)
이 모든 리터럴은 같은 값을 나타냅니다: 십진수의 42. 숫자가 다양한 "옷"을 입을 수 있다는 것이 fascinatig하지 않나요?
정수 접미사
정수 리터럴에 접미사를 추가하여 그 유형을 지정할 수도 있습니다:
int e = 42L; // 장정수
int f = 42U; // 부호 없는 정수
int g = 42UL; // 부호 없는 장정수
int h = 42LL; // 장장정수 (C99 이후)
이 접미사들은 컴파일러가 우리가 어떤 유형의 정수를 다루고 있는지 이해하는 데 도움을 줍니다.
부동소수점 리터럴
이제 소수점 숫자의 세계로 이동해 보겠습니다! 부동소수점 리터럴은 소수점이 포함된 숫자입니다. 다음은 몇 가지 예제입니다:
float pi = 3.14159;
double avogadro = 6.022e23; // 과학 표기법
long double planck = 6.62607015e-34L; // L 접미사를 사용한 장부동소수점
이 코드에서:
-
3.14159
은 간단한 부동소수점 리터럴입니다 -
6.022e23
은 과학 표기법을 사용합니다 (e23은 × 10^23을 의미) -
6.62607015e-34L
은 장부동소수점 리터럴입니다 (L 접미사를 주의)
부동소수점 리터럴은 기본적으로 이중 정밀도입니다. 만약 플로트를 사용하고 싶다면 F 접미사를 사용할 수 있습니다:
float f = 3.14F;
문자 리터럴
C에서 문자 리터럴은 단일引用符로 둘러싸인 단일 문자를 나타냅니다. 몇 가지 예제를 보겠습니다:
char grade = 'A';
char newline = '\n';
char smiley = '\u263A'; // 유니코드 문자 (C99 이후)
이 코드에서:
-
'A'
은 간단한 문자 리터럴입니다 -
'\n'
은 특수 문자입니다 (뉴라인) -
'\u263A'
은 유니코드 문자입니다 (smiley face ☺)
이스케이프 시퀀스
때로는 직접 타이핑할 수 없는 문자를 나타내기 위해 이스케이프 시퀀스를 사용해야 합니다. 이스케이프 시퀀스는 항상 백슬래시 ()로 시작합니다. 다음은 일반적인 이스케이프 시퀀스 표입니다:
이스케이프 시퀀스 | 의미 |
---|---|
\n | 뉴라인 |
\t | 탭 |
\ | 백슬래시 |
\' | 단일引用符 |
\" | 이중引用符 |
\0 | 널 문자 |
이제 그들을 실제로 사용해 보겠습니다:
char newline = '\n';
char tab = '\t';
char backslash = '\\';
char single_quote = '\'';
char double_quote = '\"';
char null_char = '\0';
printf("Hello\tWorld!\nThis is a backslash: \\\nAnd a quote: \'");
이 코드는 다음과 같은 출력을 생성합니다:
Hello World!
This is a backslash: \
And a quote: '
문자열 리터럴
마지막으로, 문자열 리터럴에 대해 이야기해 보겠습니다. C에서 문자열 리터럴은 이중引用符로 둘러싸인 문자의 시퀀스입니다. 몇 가지 예제를 보겠습니다:
char* greeting = "Hello, World!";
char* multiline = "This is a\n"
"multi-line\n"
"string literal.";
char* unicode = u8"This is a Unicode string: \u263A"; // C11 이후
이 코드에서:
-
"Hello, World!"
은 간단한 문자열 리터럴입니다 - 멀티라인 문자열은 긴 문자열을 줄을跨ぐ하는 방법을 보여줍니다
- 유니코드 문자열은 문자열에 유니코드 문자를 포함하는 방법을 보여줍니다
记住, C에서 문자열 리터럴은 실제로는 널 문자('\0')로 끝나는 문자 배열입니다.
결론
축하합니다! 리터럴에 대해 배우며 C 프로그래밍의 세계로 첫 걸음을 뗐습니다. 이 기본적인 건축 블록은 프로그래밍 여정에서 매우 중요합니다.
기억하세요, 연습이 완벽을 이루ります. 이 다양한 리터럴을 사용하여 코드를 작성해 보세요. 실험하고, 실수하고, 그것을 배워 보세요. 이는 능숙한 프로그래머가 되는 가장 좋은 방법입니다.
행복한 코딩을 기원하며, 다음에 만날 때까지 C의 fascinatig한 세계를 탐험하세요!
Credits: Image by storyset