μ½λ©μ νλ€λ©΄ νμμ μΌλ‘ νμν μ‘΄μ¬κ° μμ΅λλ€. λ°λ‘ λ³μ(Variable)μ λλ€. μ€λμ μ΄ λ³μμ λν΄ μμλ΄ μλ€.
λ³μλ 무μΈκ°λ₯Ό μ μ₯νλ κ·Έλ¦ κ³Ό κ°μ μ‘΄μ¬μ λλ€. κ³§λ°λ‘ μλ₯Ό λ€μ΄λ΄ μλ€.
#include <stdio.h>
int main(void)
{
int A = 1;
printf("%d", A);
}
μ μ½λμμλ λ³μ Aμ 1μ λ΄μμ΅λλ€. κ·Έλ¦¬κ³ λ³μ μμλ int λΌλ κΈμκ° ν¨κ» λΆμ΄μμ΅λλ€. μ΄ intκ° λ°λ‘ μλ£ν μ λλ€. intνμ λ³μ A λ₯Ό μ μΈνμ¬ A μ 1μ λ΄μλΌ! μ΄λ° μ΄μΌκΈ° μ λλ€. μ μ΄κ² 무μ¨λ§μΌκΉμ?
μλ£ν
μλ£νμ΄λ λ³μλ₯Ό λ΄μ κ·Έλ¦μ ννλ₯Ό λ§ν©λλ€. μ°λ¦¬κ° μμ΄μ€ν¬λ¦Όμ μ½ μμ λ΄κ³ , λ³Άμλ°₯μ μ μμ, νλ°°λ¬Όνμ μ’ μ΄μμμ λ΄μ΅λλ€. κ·Έλ°λ° μμ΄μ€ν¬λ¦Όμ μ’ μ΄μμμ λ΄κ³ , λ³Άμλ°₯μ μ½ μμ, νλ°°λ¬Όνμ μ½ μμ λ΄λλ€λ©΄.. λκ° μ΄μνμ£ ?
μ΄λ°μμΌλ‘ λ³μλ μ’ λ₯κ° μ ν΄μ Έ μκ³ , κ·Έ μ’ λ₯μ λ°λΌ λ΄μκ²λ€λ μ ν΄μ Έ μμ΅λλ€.
μμμ λ€λ£¬ intλ λ°λ‘ μ μν μ λλ€. intνμΌλ‘ μ μΈλ λ³μλ μ€λ‘μ§ μ μλ§ λ΄μ μ μμ΅λλ€. λ§μ½ μ€μ 0.1μ λ΄λλ€λ©΄ μΆλ ₯μ΄ λμ¬κΉμ? μΆλ ₯μ μ μμ μΌλ‘ λμ€μ§λ§, μ°λ¦¬κ° μνλ κ°μ΄ λμ€μ§λ μμ΅λλ€. λ§μΉ μμ΄μ€ν¬λ¦Όμ μ’ μ΄μμ μμ λ΄μμ§λ§, λ¨Ήμμλ μλ κ² μ²λΌμ.
κ·ΈλΌ μλ£νμ μ’ λ₯λ 무μμ΄ μμκΉμ? μμ£Ό ν¬κ² λλμλ©΄ int, float, char λ‘ λλ μ μμ΅λλ€. μ΄κ²λ€μ 무μμ μλ―Έν κΉμ?
int λ μ μνμ μλ―Έν©λλ€. λ§ κ·Έλλ‘ μ μν λ°μ΄ν°λ§ λ΄μ μ μμ΅λλ€. 0,1,2,3...100...1234... μ΄λ° μ«μλ€μ λ§ν©λλ€.
floatλ μ€μνμ μλ―Έν©λλ€. μ€λ‘μ§ μμλ°μ΄ν°λ§ λ΄μ μ μμ΅λλ€. 0.1, 0.0032, 0.00321... μ΄λ° μ«μλ€μ λ§ν©λλ€.
charλ λ¬Έμνμ μλ―Έν©λλ€. μ€λ‘μ§ λ¬Έμλ§ λ΄μ μ μμ΅λλ€. A, a, 1, 3, 4, 0, b, B.... μ΄λ°κ²λ€μ λ§ν©λλ€.
κ·Όλ° charμ μ΄μ§Έμ μ μκ° λ€μ΄κ° μ μλκ³ μ? 1, 2, 4... μ κ°μ μ«μλ€μ μ«μμ΄κΈ° μ μ, λ¬Έμμ λλ€. λλ¬Έμ char ν λ³μμ μ«μ 1μ λ΄λλ€λ©΄ κ·Έ μ«μλ λ¬Έμκ° λ©λλ€. μ΄κ²μ 무μμ μλ―Έν κΉμ?
#include <stdio.h>
int main(void)
{
char A = 1;
int B = 1;
printf("%d", A + B);
}
μ΄ μ½λμμ μ μμ μΌλ‘ μΆλ ₯μ΄ λμ¬κΉμ? μ λ κ·Έλ μ§ μμ΅λλ€.
λ¬Έμμ μ«μλ μλ‘ μ°μ°ν μ μμ΅λλ€. λ¬Έμ 1κ³Ό μ«μ1μ λνλκ²μ λ§μ΄ λμ§ μμ£ . μ΄λ‘μ μΌλ‘ νμ΄μ¬μμλ μ«μ1κ³Ό λ¬Έμ 1μ λνλ©΄ 11μ΄ λμ΅λλ€.
λ³μ
λ³μλ μ μΈμ ν΄μΌ ν©λλ€. μ μΈμ΄λ λ μ΄κ±° μΈκ±°μΌ! λΌκ³ ν΅λ³΄νλ κ²μ λ§ν©λλ€. μλ₯Ό νλ λ€μ΄λ³΄μ£ .
#include <stdio.h>
int main(void)
{
printf("%d", A);
}
μ μ½λλ λμν κΉμ? μ λ λμνμ§ μμ΅λλ€. μ΄μ λ μ°λ¦¬κ° μΆλ ₯ν λ³μ Aκ° μ μΈμ΄ λμ΄μμ§ μκΈ° λλ¬Έμ λλ€. κ·Έλ¦¬κ³ λ³μμ κ°λ λ΄κ²¨μμ§ μκ³ μ.
#include <stdio.h>
int main(void)
{
int A = 1;
printf("%d", A);
}
μ΄λ κ² μ½λλ₯Ό μμ νλ€λ©΄ μ¬λ°λ₯Έ μΆλ ₯μ΄ λμ΅λλ€.
#include <stdio.h>
int main(void)
{
int A = 0;
A = 5;
printf("%d", A);
}
λ³μλ νλ² μ μΈνλ©΄ λμ΄μ μλ£νμ λΆμ΄μ§ μμλ λ©λλ€. μ μ½λμμλ 보μ΄λ―μ΄, int A λ³μλ₯Ό μ μΈν λ€ A = 5 λΌλ ννλ‘ κ°μ λ°κΎΈκ³ μμ΅λλ€. μΆλ ₯μ μ μμ μΌλ‘ 5 κ° λμ€κ² λ©λλ€.
μ΄λ² ν¬μ€ν μμ μλ£νκ³Ό λ³μμ λν΄μ μμ보μμ΅λλ€. μ¬μ€ μλ£νμ μμ§ λ°°μΈκ²μ΄ λ¨μμμ΅λλ€. λ μμΈν λ΄μ©μ λ€μ ν¬μ€ν μμ μμ보λλ‘ νκ² μ΅λλ€. κ°μ¬ν©λλ€.
'πνλ‘κ·Έλλ° > πC' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ²νΌ μ€λ²νλ‘μ°(Buffer Overflow) (1) | 2023.12.27 |
---|---|
[CμΈμ΄] λ°νκ°μ΄ 무μλμμ΅λλ€ scanf μ€λ₯ ν΄κ²°λ°©λ² (0) | 2023.11.07 |
[CμΈμ΄] μ΄μ€forλ¬ΈμΌλ‘ ꡬꡬλ¨μ λ§λ€μ΄λ³΄μ (0) | 2023.07.05 |
#2 - printf() / scanf() (0) | 2023.06.29 |
#1 - C μΈμ΄μ κ΅¬μ± (0) | 2022.12.13 |
λκΈ