νμ (Type)
λ€μμ C/C++μμ μ§μνλ κΈ°λ³Έ λ°μ΄ν° νμ (Data Type)μ΄λ€.
- char
- boolean
- short
- int
- long
- float
- double
- pointer
κΈ°λ³Έ λ°μ΄ν° νμ μ νλ‘κ·Έλ¨μμ λ³μλ₯Ό μ μΈν λ μΌλ§λ§νΌ λ©λͺ¨λ¦¬ 곡κ°μ ν λΉν΄μΌ νλμ§ λͺ μμ μΌλ‘ μ μΈν΄μ£Όμ΄μΌ νλ μν μ΄λ€. PHP, νμ΄μ¬κ³Ό κ°μ μλ νμ μΈμ΄μ κ²½μ°λ λ³μλ₯Ό μ μΈν λ νμ μ μ§μ νμ§ μμ§λ§, μ΄λ νμ μ΄ μλ κ²μ΄ μλλΌ μΈμ΄μ°¨μμμ μλμΌλ‘ μ§μ ν΄μ£Όλ κ²μ΄λ€.
μ νλ CμΈμ΄μμ μ§μνλ λ°μ΄ν° νμ κ³Ό ν¬κΈ°, κ·Έλ¦¬κ³ νμ λ³λ‘ λνλΌ μ μλ μ΅λκ°μ λνλΈλ€.
λ§μ½ λνλΌ μ μλ μ΅μ/μ΅λκ°μ λ²μλ₯Ό λ²μ΄λ λ°μ΄ν°λ₯Ό μ μ₯νλ©΄, μ€λ²νλ‘μ°κ° λ°μνμ¬ μλμΉ μμ κ²°κ³Όλ₯Ό κ°κ² λλ€.
unsignedκ° λΆμ νμ μ μμλ₯Ό νμ©νμ§ μμΌλ―λ‘ μμ λ²μμ νν΄μ unsigedκ° λΆμ§ μμ κ°μ νμ λ³΄λ€ 2λ°° λ ννν μ μλ€.
charλ 8bit(1λ°μ΄νΈ)μ ν¬κΈ°λ‘ Cμμλ λ³΄ν΅ λ¬Έμμ΄μ νκΈ°ν λ μ°μΈλ€. λ¬Έμμ΄μ΄ μλ μ«μλ₯Ό μ μ₯ν΄λ λ¬Έμ μλ€. λ¬Έμ ννλ°©μμ΄ μ λμ½λκ° μλ λ©ν°λ°μ΄νΈ νμμ κ²½μ°, 1κΈμλΉ 1λ°μ΄νΈμ ν¬κΈ°λ₯Ό μ°¨μ§νκΈ° λλ¬Έμ charνμ μ arrayλ‘ μ μΈνμ¬ μνλ λ¬Έμμ΄λ‘ μ μ₯νλ€.
booleanλ μ μννμ 1λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.(boolμ΄λΌκ³ μ μΈνλ©°, λλΆλΆ μ°Έ/κ±°μ§μ λνλ΄λ true, falseλ‘ λνλΈλ€)
shortλ μ μννμ 2λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.
intλ μ μννμ 4λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.
longμ μ μννμ 8λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.(32λΉνΈ μ΄μ체μ μμλ 4λ°μ΄νΈλ§νΌ μ μ₯ν μ μλ€.)
floatμ μ€μννμ 4λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.
doubleμ μ€μννμ 8λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.
pointerλ³μ(μ μΈμ *κ° λΆμ λ³μ)λ 8λ°μ΄νΈ ν¬κΈ°λ§νΌ μ μ₯ν μ μλ€.(32λΉνΈ μ΄μ체μ μμλ 4λ°μ΄νΈλ§νΌ μ μ₯ν μ μλ€.)
μ°μ°μ(Operator)
μ°μ°μμ μ’ λ₯λ λ€μκ³Ό κ°λ€.
- μ°μ μ°μ°μ
- λΉκ΅μ°μ°μ
- λ Όλ¦¬μ°μ°μ
- λμ μ°μ°μ
- λΉνΈμ°μ°μ
- μ¦κ°μ°μ°μ
μ°μ μ°μ°μ
μ°μ μ°μ°μλ +, -, *, /, %μ κ°μ΄ λ§μ /λΊμ /κ³±μ /λλμ /λλ¨Έμ§ κ³μ°κ³Ό κ°μ μ°μ μ μΈ ννμ λνλΈλ€. μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μ°μΈ‘μ νΌμ°μ°μλ₯Ό μ’μΈ‘μ νΌμ°μ°μμ μ μ©νλ€.
int var = 0;
int foo = var + 4;
λ³μ fooμλ 0+4μ κ²°κ³ΌμΈ 4κ° λ€μ΄μλ€.
int var = 15;
int foo = var % 4;
λ³μ fooμλ 15μ κ°μ κ°μ§ λ³μ varλ₯Ό 4λ‘ λλ λλ¨Έμ§λ₯Ό μ μ₯νκΈ° λλ¬Έμ 3μ΄ μ μ₯λλ€.
λΉκ΅μ°μ°μ
λΉκ΅μ°μ°μλ ==, !=, <, <=, >, >=μ κ°μ΄ κ°κ±°λ λμλΉκ΅λ₯Ό λνλΈλ€. λΉκ΅μ°μ°μμ κ²°κ³Όλ true or falseμ΄λ€.
bool var1 = 3 == 4;
bool var2 = 5 == 5;
bool var3 = 3 < 6;
bool var4 = 2 >= 10;
var1λΆν° κ²°κ³Όλ 0, 1, 1, 0μ΄ λ κ²μ΄λ€. Cμμ booleanμ λνλΌ λ, κ±°μ§(false)μ 0μ΄λ©°, 0μ΄ μλ κ°λ€μ μ°Έ(true)μΌλ‘ κ°μ£Όλλ€. (trueκ° 1μΌ μλ μκ³ 0κ³Ό 1μ΄ μλ λ€λ₯Έ μ μΌμλ μμμ μ μνμ)
!= μ°μ°μλ κ°μ§ μμμ λνλ΄κΈ° λλ¬Έμ 3 != 4μ κ²°κ³Όλ trueμ΄λ€.
λ Όλ¦¬μ°μ°μ
λ Όλ¦¬μ°μ°μλ ||, &&, ! μ΄λ©° AND, OR, NOTκ³Ό κ°μ΄ λ Όλ¦¬μμ νλ¨νλ μ°μ°μλ€.
&&λ νΌμ°μ°μ λͺ¨λ trueμ΄λ©΄ trueλ₯Ό λ°ν, λλ¨Έμ§λ false λ°ν(AND)
||λ νΌμ°μ°μ μ€ νλλΌλ trueμ΄λ©΄ true λ°ν, λͺ¨λ falseμΌ λ false λ°ν (OR)
!λ νΌμ°μ°μκ° trueμ΄λ©΄ falseλ₯Ό λ°ν, falseμ΄λ©΄ trueλ₯Ό λ°ν (NOT)
bool var1 = 3 == 4;
bool var2 = 5 == 5;
bool var3 = 3 < 6;
bool var4 = 2 >= 10;
bool foo1 = var1 && var2;
bool foo2 = var2 && var3;
bool foo3 = var1 || var2;
bool foo4 = var1 || var4;
bool foo5 = !var1;
foo1λΆν° κ²°κ³Όλ 0, 1, 1, 0, 1μ΄λ€.
λμ μ°μ°μ
λμ μ°μ°μλ =, +=, -=, *=, /=, %= μ΄κ³ , λμ μ°μ°μλ₯Ό κΈ°μ€μΌλ‘ μ°μΈ‘μ νΌμ°μ°μλ₯Ό μΌμͺ½μ νΌμ°μ°μμ λμ νλ μν μ νλ€.
a = 5;
a += 2 // a = a + 2κ³Ό κ°λ€
a -= 2 // a = a - 2κ³Ό κ°λ€
a *= 2 // a = a * 2κ³Ό κ°λ€
a /= 2 // a = a / 2κ³Ό κ°λ€
a %= 2 // a = a % 2κ³Ό κ°λ€
μ¬κΈ°μ a = 5λ aλΌλ μ΄λ¦μ λ³μ 곡κ°μ 5λΌλ κ°μ λμ νλΌλ λͺ λ Ήμ΄λ€.
a += 2λ a = a + 2μ ν¨μΆνμ΄λ©°, μ°μ κ³Ό λμ μ λμμ μ§ννλ€.
λΉνΈμ°μ°μ
λΉνΈμ°μ°μλ &, |, ^, ~ μ΄λ©°, λΉνΈλ₯Ό κΈ°μ€μΌλ‘ λ Όλ¦¬μ°μ°μ μ§ννλ€. λ³μκ° λνλ΄λ μ¬μ΄μ¦λ§νΌ λΉνΈν¬κΈ°κ° μκ³ λΉνΈ νλμ© μ°μ°μ΄ κ°λ₯νλ€λ μλ―Έμ΄λ€.(intμ΄λ©΄ 4λ°μ΄νΈμ΄λ―λ‘ 32λΉνΈμ΄κ³ , 32κ°μ λΉνΈλ₯Ό κ°κ° μ°μ°μ νμ©ν μ μλ€.)
&λ νΌμ°μ°μ λΉνΈ λͺ¨λ 1μ΄λ©΄ 1μ λ°ν, λλ¨Έμ§λ 0 λ°ν(AND)
|λ νΌμ°μ°μ λΉνΈ μ€ νλλΌλ 1μ΄λ©΄ 1 λ°ν, λͺ¨λ 0μΌ λ 0 λ°ν (OR)
^λ νΌμ°μ°μ λΉνΈκ° μλ‘ λ€λ₯΄λ©΄ 1 λ°ν, κ°μΌλ©΄ 0λ°ν(XOR)
~λ νΌμ°μ°μ λΉνΈλ₯Ό λ°μ μν΄(1μ΄λ©΄ 0μΌλ‘, 0μ΄λ©΄ 1μΌλ‘)(NOT)
λΉνΈμ°μ°μ νμΈνλ €λ©΄ μ μλ‘ ννλ νΌμ°μ°μλ₯Ό 2μ§μλ‘ λ³ννκ³ κ° μ리μμ λΉνΈλΌλ¦¬ μ°μ°ν ν λ€μ 10μ§μλ‘ λ³ννλ©΄ λλ€.
μΌνμ°μ°μ
int var = 3;
int foo = var == 3 ? 15 : 0;
μΌνμ°μ°μλ 쑰건μ ? A : B λ‘ λνλ΄λ©°, 쑰건μμ΄ trueμ΄λ©΄ Aλ₯Ό λ°ν, falseμ΄λ©΄ Bλ₯Ό λ°ννλ€.
μ°μ°μ μ°μ μμ
μ°μ°μ μ°μ μμλ μμ κ°μΌλ©°, λ°λ‘ μΈμΈ νμλ κΈ°μ΅ν νμλ μλ€. μ¬μ©νλ€λ³΄λ©΄ μ μ λ‘ μκ² λ κ²μ΄λ€.
μ¦κ°μ°μ°μ
int var = 3;
var++;
int var = 3;
var--;
μ¦κ° μ°μ°μλ λμ μ°μ°μμ μ°μ κ³Ό λμ νλ +=, -=, *=, /=μ λΉμ·νλ€. μ¦κ°μ°μ°μμλ ++κ³Ό --μ΄ μ λΆμ΄λ€. ++μ΄ νννλ κ²μ κ°μ 1μ© μ¦κ°νλ κ²μ΄κ³ λ°λλ‘ --κ° νννλ κ²μ κ°μ 1μ© κ°μνλ κ²μ΄λ€.
λ€λ§ ++μ΄ λ³μ μμλ λΆμ μ μκ³ λ€μλ λΆμ μ μλ€. μμ λΆμΌλ©΄ μ μ, λ€μ λΆμΌλ©΄ νμλΌλ μ΄λ¦μ΄ λΆλλ€.(λλ΅ μ μ μ°μ°, νμ μ°μ°)
int var = 1;
int foo = var++;
int var = 1;
int foo = ++var;
μ λ μμ μμλ μ μ μ°μ°κ³Ό νμ μ°μ°μ μ°¨μ΄λ₯Ό 보μ¬μ€λ€.
첫 λ²μ§Έ μμ μμ fooλ 1μ΄κ³ λ λ²μ§Έ μμ μμ fooλ 2κ° λμ λλ€. μ΄μ λ μ΄ν΄λ³΄λ©΄, νμ μ°μ°(var++)μ κ²½μ° fooμ varμ κ°μ λμ ν μ΄νμ varλ₯Ό μ¦κ°μν¨λ€. λ°λ©΄μ μ μ μ°μ°(++var)μμλ ++varκ° λ¨Όμ μ€νλ ν fooμ λμ νκΈ° λλ¬Έμ fooμλ 2κ° λμ λλ€.
μ μ, νμμ λ°λΌμ κ²°κ³Όκ° λ€λ₯Ό μ μμΌλ μν©μ λ°λΌμ μ μ νκ² νλ¨νμ¬ μ¬μ©νμ.
'C++ κΈ°μ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C/C++] 4. λ°λ³΅λ¬Έ(Iteration statements) - forλ¬Έ(for loop) (0) | 2021.03.29 |
---|---|
[C/C++] 3. 쑰건문(Conditional statement) (0) | 2021.03.18 |
[C/C++] 0. μ€ννμΌμ΄ λ§λ€μ΄μ§λ ꡬ쑰(feat. μ»΄νμΌλ¬) (0) | 2021.03.10 |
[C/C++] 1. λ³μ(Variable) (0) | 2021.03.10 |
[C/C++] κΈ μμ±μ κ΄νμ¬ (0) | 2021.03.09 |
λκΈ