• λ¬Έμλ μ»΄ν¨ν°μμ μ΄λ»κ² ννλ κΉ? μ»΄ν¨ν°λ λͺ¨λ κ²μ μ«μλ‘ νννλ€. λ¬Έμλ μμΈλ μλλ€.
• μλ₯Ό λ€λ©΄ 'A'λ μ«μ 65λ‘, 'B'λ 66μΌλ‘ νννλ€, μ΄κ²μ λ¬Έμ μ½λλΌκ³ νλ€.
• λ리 μ¬μ©νλ νμ€μ μΈ λ¬Έμ μ½λλ μμ€ν€ μ½λ(ASCII code)μ΄λ€.
• μμ€ν€ μ½λλ μμ΄μ λμλ¬Έμ, μ«μ, κΈ°νΈλ€μ λνμ¬ 0μμ 127 μ¬μ΄μ κ°λ€μ λΆμ¬νλ€.
• CμΈμ΄μμλ ASCII μ½λλ₯Ό μ΄μ©νμ¬ λ¬Έμλ₯Ό νννκ² λλ€.
• μλ¬Έμμ κ²½μ°, κΈμλ€μ κ°μκ° 128κ° μ΄νμ΄κΈ° λλ¬Έμ νλμ κΈμμ λνμ¬ λ§μ λΉνΈλ₯Ό ν λΉν νμλ μλ€, 8λΉνΈλ©΄ μΆ©λΆνλ€.
• μμ€ν€ μ½λλ 8λΉνΈμ charν λ³μμ μ μ₯λ μ μλ€.
• μμ€ν€ μ½λμμ μΈμ κ°λ₯ν μ½λλ μ€νμ΄μ€ λ¬ΈμλΆν° μμνλ€. μ€νμ΄μ€(space) λ¬Έμλ 32λ‘ ννλλ€. λλν λ¬Έμ(!)μ μ½λλ 33μ΄λ€. μ΄λ° μμΌλ‘ 1μ© μ¦κ°νλ©΄μ μνλ²³ λ¬Έμλ€μ μ°¨λ‘λλ‘ νννλ€.
• 'A'μ μ½λλ 65μ΄κ³ , 'B'λ 66μ΄λ€. 'a'λ 97μ΄κ³ 'b'λ 98μ΄λ€.
μ°Έκ³
charνμ΄ λ΄λΆμ μΌλ‘λ μ μλ₯Ό μ μ₯νκΈ° λλ¬Έμ κΈ°μ μ μΌλ‘ 보면 μ μνμ΄λΌκ³ λ§ν μλ μλ€. κ·Έλ¬λ charλΌλ λ¨μ΄κ° λΆμ κ²μ²λΌ charνμ λ¬Έμλ₯Ό μ μ₯νκΈ° μνμ¬ λ§λ€μ΄μ‘κΈ° λλ¬Έμ λ¬ΈμνμΌλ‘ μκ°νμλ€.
λ¬Έμ λ³μμ λ¬Έμ μμ
• λ¬Έμκ° μ μλ‘ ννλλ―λ‘ μ μλ₯Ό μ μ₯ν μ μλ μλ£νμ λ¬Έμλ μ μ₯ν μ μλ€.
• μμ€ν€ μ½λκ° 0μμ 127κΉμ§μ μ«μλ§μ μ΄μ©νλ―λ‘ 8λΉνΈλ‘ μΆ©λΆν ννμ΄ κ°λ₯νλ€. (8λΉνΈμ΄λ©΄ 2^8(256)κ°μ λ¬ΈμκΉμ§ λνλΌ μ μλ€).
• λ°λΌμ charνμ΄ λ¬Έμλ₯Ό μ μ₯νλλ° μ£Όλ‘ μ¬μ©λλ€. charνμ 8λΉνΈ μ μλ₯Ό μ μ₯ν μ μλ€.
char code;
• λ§μ½ μ΄ charνμ λ³μ codeμ λ¬Έμ Aλ₯Ό μ μ₯νλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉ?
• λ¬Έμ Aλ μμ€ν€ μ½λ 65λ‘ ννλλ―λ‘ codeμ 65λ₯Ό λμ νλ©΄ λ κ²μ΄λ€.
• νμ§λ§ μ«μλ₯Ό λμ νλ κ²λ³΄λ€ λ νΈλ¦¬ν λ°©λ²μ΄ μλ€. Cμμλ λ¬Έμ Aλ₯Ό νννλ €λ©΄ μμλ°μ΄ν('')λ₯Ό μ¬μ©νμ¬ 'A'μ κ°μ΄ λνλΈλ€.
code = 'A';
• 'A'μ κ°μ΄ μμλ°μ΄νλ‘ κ°μΈμ§ λ¬Έμλ₯Ό λ¬Έμ μμ(character constant)λΌκ³ νλ€.
• μ»΄νμΌλ¬λ μμλ°μ΄νλ‘ κ°μΈμ§ λ¬Έμ μμλ₯Ό λ§λλ©΄ μ΄κ²μ μμ€ν€ μ½λλ‘ λ³ννλ€.
• μ€μ λ‘ codeλ₯Ό μμ§μ νμμΌλ‘ μΆλ ₯νμ¬ λ³΄λ©΄ 65κ° μΆλ ₯λ¨μ νμΈν μ μλ€.
• λ¬Έμλ₯Ό μ μΆλ ₯νλ λ°©λ²μ λ§λ€. scanf()λ₯Ό νμ μ§μ μ %cλ‘ νΈμΆν΄λ λκ³ getchar()λΌλ μ μ© ν¨μλ₯Ό μ¬μ©ν΄λ λλ€.
• getchar() ν¨μλ₯Ό μ¬μ©νμ¬, λ¬Έμ 'A'μ μμ€ν€ μ½λλ₯Ό μΆλ ₯ν νμ, μ¬μ©μλ‘λΆν° λ¬Έμλ₯Ό λ°μμ κ·Έ λ¬Έμμ μμ€ν€ μ½λλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±ν΄λ³΄μ.
#include <stdio.h>
int main(void)
{
char c; // λ³μ μ μΈ
c = 'A'; // λ³μ cμ λ¬Έμ 'A'λ₯Ό μ μ₯νλ€.
printf("Aμ μμ€ν€ μ½λ = %d\n", c); // λ¬Έμμ μμ€ν€ μ½λλ₯Ό μΆλ ₯
printf("λ¬Έμλ₯Ό μ
λ ₯νμμ€: "); // μ
λ ₯ μλ΄λ¬Έ
c = getchar(); // scanf("%c", &c)νμ¬λ λλ€.
printf("%cμ μμ€ν€ μ½λ = %d\n", c, c); // λ¬Έμμ μμ€ν€ μ½λλ₯Ό μΆλ ₯
return 0;
}
κ²½κ³
λ§μ½ λ¬Έμ μμλ₯Ό μμλ°μ΄νλ₯Ό μ°μ§ μκ³ λ€μκ³Ό κ°μ΄ κΈ°μ νλ©΄ μ€λ₯μ΄λ€.
char code = 'A';β
μ»΄νμΌλ¬λ Aλ₯Ό λ³μ μ΄λ¦μΌλ‘ μκ°νλ€. μμλ°μ΄νλ₯Ό λΉ λ¨λ¦¬μ§ μλλ‘ μ£Όμνμ.
Q λ¬Έμκ° μ μλ‘ ννλλ€λ©΄ char νμ λ³μκ° λ¬Έμλ₯Ό μ μ₯νλμ§, μ μλ₯Ό μ μ₯νλμ§λ₯Ό μ΄λ»κ² ꡬλ³νλκ°?
A char νμ λ³μμ μ μ₯λ κ°μ λ¬Έμλ‘ ν΄μκ°λ©΄ λ¬ΈμλΌκ³ κ°μ£Όλλ€. μλ₯Ό λ€μ΄μ νλ©΄μ μΆλ ₯ν λ %cλ₯Ό μ¬μ©νμ¬μ μΆλ ₯νλ©΄ λ³μμ λ€μ΄μλ κ°μ μμ€ν€ μ½λλ‘ ν΄μνλ€. λ°λ©΄μ %dλ₯Ό μ¬μ©νλ©΄ λ¬Έμκ° μλκ³ μ μλ‘ ν΄μνλ€.
μ μ΄ λ¬Έμ
• μ μ΄ λ¬Έμλ€μ μΈμλ μκ° μκ³ μ£Όλ‘ μ½μμ΄λ νλ¦°ν°λ₯Ό μ μ΄ν λͺ©μ μΌλ‘ μ΄μ©λλ λ¬Έμλ€μ΄λ€.
• μλ₯Ό λ€λ©΄ νλ©΄μ μλ‘μ΄ μ€μ λ§λλ μ€λ°κΏ λ¬Έμμ νλ©΄μ νμ λνλ΄λ λ¬Έμ, 벨μ리λ₯Ό λ΄λ λ¬Έμ, λ°±μ€νμ΄μ€ λ¬Έμ λ±μ΄ μ μ΄ λ¬Έμμ ν¬ν¨λλ€.
• μ μ΄ λ¬Έμλ€μ νλ‘κ·Έλ¨ μμμ νννλ λͺ κ°μ§μ λ°©λ²μ΄ μ‘΄μ¬νλ€. κ°μ₯ κ°λ¨ν λ°©λ²μ ν΄λΉ μμ€ν€ μ½λ κ°μ μ§μ μ¬μ©νλ κ²μ΄λ€.
• μλ₯Ό λ€λ©΄ μ»΄ν¨ν°μμ 벨μ리λ₯Ό λ°μμν€λ μ μ΄ λ¬Έμλ μμ€ν€ μ½λκ°μ΄ 7μ΄λ€. λ°λΌμ μ»΄ν¨ν°μμ "μ"νλ κ²½κ³ λ²¨μλ¦¬κ° λκ² νλ €λ©΄ λ€μκ³Ό κ°μ΄ νλ©΄ λλ€. (μ΄ λ°©λ²μ κ°μ₯ μ¬μ΄ λ°©λ²μ΄μ§λ§ μμ€ν€ μ½λκ°μ μ λΆ μκΈ°νμ¬μΌ νλ€,)
printf("%c", 7)
• λ μ¬μ΄ ν κ°μ§ λ°©λ²μ μ΄μ€μΌμ΄ν μνμ€(escape sequence)μ μ΄μ©ν΄μ νννλ λ°©λ²μ΄λ€.
• μ΄μ€μΌμ΄ν μνμ€λ μμ¬λμ(\)μ μλ―Έλ₯Ό λνλ΄λ ν κΈμλ₯Ό λΆμ¬μ κΈ°μ λλ€.
• \n λ¬Έμλ \μ μ€λ°κΏ(new line)μ λ»νλ nμ λΆμ¬μ \nμ κ°μ΄ λνλΈλ€.
• μννμ κ²½μ° \μ ν(tab)μ λνλ΄λ tλ₯Ό λΆμ¬μ \tμ κ°μ΄ λνλΈλ€.
• 벨μ리λ₯Ό λκ²νλ μ μ΄ λ¬Έμλ \aλ‘ λνλΈλ€.
• μλ₯Ό λ€μ΄ νλ‘κ·Έλ¨μμ κ²½κ³ μμ λ΄λ €λ©΄ λ€μκ³Ό κ°μ΄ νλ©΄ λλ€.
printf("\a");
• μ΄μ€μΌμ΄ν μνμ€λ ν°λ°μ΄ν λ¬Έμλ₯Ό νλ©΄μ λνλ΄λ λ°μλ μ¬μ©λλ€.
μλ ν°λ°μ΄νλ λ¬Έμμ΄(λ¬Έμλ€μ΄ λͺ¨μΈ κ²)μ νμνλ μν μ νλ€. κ·Έλ¬λ λ§μ½ ν°λ°μ΄νλ₯Ό νλ©΄μ λνλ΄μΌ ν κ²½μ°κ° μλ€λ©΄ ν°λ°μ΄νμ λ³Έλμ μλ―Έλ₯Ό λ²μ΄λμ κ·Έλ₯ νλμ λ¬Έμμ μλ―Έλ₯Ό κ°μ ΈμΌ ν κ²μ΄λ€. μ΄λ μ΄μ€μΌμ΄ν μνμ€κ° μ¬μ©λλ€. μ΄λ μ΄μ€μΌμ΄ν μνμ€κ° μ¬μ©λλ€
νΉμν κΈ°λ₯μ κ°μ§ λ¬Έμ μμ μμ¬λμ \λ₯Ό μμΉμν€λ©΄ νΉμν μλ―Έκ° μ¬λΌμ§λ ν¨κ³Όκ° μλ€.
λ€μκ³Ό κ°μ λΌμΈμ μΆλ ₯νλ €λ©΄
"λλ§μ ν 리μ°λ" UCC μ΄ν
λ€μκ³Ό κ°μ΄ νλ©΄ λλ€.
printf(" \"λλ§μ ν 리μ°λ\" UCC μ΄ν ");
βοΈ λ‘κ·ΈμΈ νλ©΄ λ§λ€κΈ°
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int id, pass;
printf("μμ΄λμ ν¨μ€μλλ₯Ό 4κ°μ μ«μλ‘ μ
λ ₯νμΈμ:");
printf("id: ____\b\b\b\b");
scanf("%d", &id);
printf("pass: ____\b\b\b\b");
scanf("%d", &pass);
printf(“\aμ
λ ₯λ μμ΄λλ \”%d\”μ΄κ³ ν¨μ€μλλ \”%d\”μ
λλ€.", id, pass);
return 0;
}
νλ‘κ·Έλ¨ μ€λͺ
κ°λ¨νκ² λ‘κ·ΈμΈ νλ©΄μ λ§λ€μ΄ 보μλ€. μ¬μ€ μμ΄λλ ν¨μ€μλλ λ¬Έμμ΄λ‘ λ°μμΌ νμ§λ§ μμ§ λ¬Έμ λ°°μ΄μ νμ΅νμ§ μμμΌλ―λ‘ μ μλ‘ λ°μ보μ
(line 8) \bλ νλ©΄μ 컀μ€λ₯Ό λ€λ‘ μμ§μ΄λ μ μ΄ λ¬Έμμ΄λ€.
(line 12) " λ¬Έμλ₯Ό νλ©΄μ νμνλ €λ©΄ λ°λμ \" λΌκ³ ν΄μΌ νλ€. κ·Έλ₯ "λΌκ³ νλ©΄ λ¬Έμμ΄μ μμμ΄λ λμΌλ‘ κ°μ£Όνλ€.
μ°Έκ³
νΉμ λ¬Έμ νκΈ° λ°©λ²μ μ΄μ€μΌμ΄ν μνμ€λΌκ³ λΆλ₯΄λ μ΄μ λ μμ¬λμ(\)κ° λ€μμ μ€λ λ¬Έμμ μλ―Έλ₯Ό λ³Έλμ μλ―Έμμ νμΆνλλ‘ νκΈ° λλ¬Έμ΄λ€. \ λ€μμ μ€λ λ¬Έμλ μλμ μλ―ΈμΈ κΈμκ° μλ νΉλ³ν λͺ λ Ήμ μλ―Ένλ€.
'1νλ (2023) > C μΈμ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C] Study: λμ λ©λͺ¨λ¦¬ - (2) malloc()κ³Ό free() (0) | 2023.08.19 |
---|---|
[C] Study: λμ λ©λͺ¨λ¦¬ - (1) λμ ν λΉ λ©λͺ¨λ¦¬λ? (0) | 2023.08.19 |
[C] Study: λ³μμ μλ£ν - (4) λΆλμμμ ν (0) | 2023.08.17 |
[C] Study: λ³μμ μλ£ν - (3) μ μν (0) | 2023.08.12 |
[C] Study: λ³μμ μλ£ν - (2) μλ£ν (0) | 2023.08.12 |