μ°Έκ³ μ¬μ΄νΈ
πͺ£ λ³μ
λ³μλ λ°μ΄ν°λ₯Ό λ΄μ 곡κ°μ μλ―Ένλ€.
μ¦ , λ°μ΄ν°λ₯Ό μ μ₯νλ 곡κ°μ΄ λ³μμ΄λ€.
λ³μλ₯Ό μ¬μ©νκΈ° μν΄μ μ μΈ(declaration)κ³Ό μ μ(definition)μ ν΄μΌνλ€.
μ©μ΄ | μ€λͺ |
μ μΈ (declaration) | *μ»΄νμΌλ¬κ° μ°Έμ‘°ν *μλ³μ(identifier)μ μ΄λ¦μ μλ €μ£Όλ κ². μ μΈμ λ©λͺ¨λ¦¬ μμ μμ μ¬λ¦¬μ§ μμ μ€λ³΅λμ΄λ λ¬Έμ κ° λμ§ μμΌλ©° λ λ² μ΄μ ν μ μλ€. |
μ μ (definition) | μλ³μμ μ΄λ¦μ ν΅ν΄ νμν μ½λλ₯Ό μμ±νλ κ²μ΄λ€. νΈμΆλμμ λ, μ€νλ μ½λλ€μ΄ μμ±λλ―λ‘ ν΄λΉ κΈ°λ₯ μ€νμ μν΄ λ©λͺ¨λ¦¬κ° ν λΉλλ©°, μ μΈν μ΄λ¦μ ν¨μ, λ³μ, ν΄λμ€λ±μ΄ μ΄λ ν λμμ ν κ²μΈμ§ μλ €μ£Όλ κ². |
* μ»΄νμΌλ¬: νΉμ νλ‘κ·Έλ¨ μΈμ΄λ‘ μ°μ¬ μλ λ¬Έμλ₯Ό λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄λ‘ λ²μνλ μν μ.
* μλ³μ: μ΄λ ν λμμ μλ³ λ° κ΅¬λΆν μ μλ μ΄λ¦
μΆμ² : Wikipedia
β οΈ μ μΈ
μ»΄νμΌλ λ, μ¬μ©λ μ½λμ μλ³μμ μ΄λ¦μ μ»΄νμΌλ¬μκ² λ―Έλ¦¬ μλ €μ£Όλ κ²μ΄λΌκ³ μμ±μλ μ΄ν΄νκ³ μλ€.
extern int a; // μ μλ³μμ μ μΈ
int add(int a, int b); // ν¨μμ μ μΈ (ν¨μμ λ³Έλ¬Έ λ΄μ© X)
class ClassName; // ν΄λμ€μ μ μΈ
class c1; // c1μ ν΄λμ€ μ λ°© μ μΈ
class c2 { // c2μ μ μΈ λ° μ μ
private:
static c1 member;
// ν΄λμ€ λ΄μ μ μ κ°μ²΄λ ν΄λμ€ μΈλΆμμ μ μν©λλ€.
// λλ¬Έμ memberλ₯Ό μ μΈνλλ° c1μ μ μλ₯Ό μ νμκ° μμ΅λλ€.
}
π’ μ μ
ν¨μκ° νΈμΆλκ±°λ λ³μλ₯Ό μ¬μ©ν λ μ½λλ₯Ό μ°Έμ‘°ν λ μ¬μ©λ λ΄μ©μΌλ‘ μμ±μλ μ΄ν΄νκ³ μλ€.
int a; // λ³μμ μ μ
int b = 10; // λ³μμ μ μ
struct Rectangle { // ꡬ쑰체μ μ μ
int width;
int height;
}
int add(int a, int b) { // ν¨μμ μ μ
// ν¨μ λ³Έμ²΄κ° μ‘΄μ¬ O
return a + b;
}
class ClassName { // ν΄λμ€μ μ μ
int a;
int b;
}
π μ€μ½ν(Scope)
λ³μλ μ μΈλ μμΉμ λ°λΌ μ μλ³μμ μ§μλ³μλ‘ λλλ€.
λ³μμ μ€μ½νμ λ°λΌ ν¨μλ€μ μ¬μ©ν μ μλ λ³μμ μ κ·Ό λ²μκ° μ νλλλ°, ν¨μκ° μ°Έμ‘°(λ³Ό μ μλ)ν μ μλ λ²μκ° λ¬λΌ μ€μ½νλΌ μΉνλ€.
μ©μ΄ | μ€λͺ |
μ μλ³μ | ν¨μ μΈλΆμμ μ μΈλλ©°, λ²μ(μ€μ½ν)μ ꡬμ λ°μ§ μκ³ νλ‘κ·Έλ¨ μ 체μμ μ κ·Όν μ μλ λ³μμ΄λ€. |
μ§μλ³μ | ν¨μ λ΄λΆμμ μ μΈλλ©°, ν΄λΉ ν¨μκ° νΈμΆλμ΄ μ€νλλ©΄ μμ±λμλ€κ° μ’ λ£λλ©΄ μ¬λΌμ§λ λ³μμ΄λ€. |
π«΅π» μ§μ μ
μ§μ μλ₯Ό ν΅ν΄ ν΄λΉ λ³μμ μν μ μ§μ ν μ μλ€.
μ©μ΄ | μ€λͺ |
const | constant(μμ)λ₯Ό μ¬μ©νμ¬ λ³μλ₯Ό μμ±ν κ²½μ°, ν΄λΉ λ³μλ νλ‘κ·Έλ¨μ΄ μ€νλλ λμ μ μ₯λ λ°μ΄ν°μ λ³κ²½μ΄ λΆκ°λ₯νλ€. |
static | static(μ μ )μ μ¬μ©νλ©΄ λ³μκ° νΉμ λ²μ(scope)λ΄μ μ§μλ³μλ‘ μ‘΄μ¬νλλΌλ μ§μλ³μκ° μλ μ μλ³μμ²λΌ μ¬μ©μ΄ κ°λ₯νλ€. |
extern | μΈλΆ νλ‘κ·Έλ¨μ μν΄ μ μλκ³ μ»΄νμΌλ μ€νλͺ¨λμ΄λ λΌμ΄λΈλ¬λ¦¬ λ΄ μ‘΄μ¬νλ λ³μλ₯Ό μ¬μ©νλ€. λ€λ₯Έ νμΌμ μ μ λ³μλ₯Ό μ¬μ©νκ³ μ ν λ μ μΈνλ€. |
π¨π»π©πΌπ§π¦π½ λ³μ νμ
λ³μμμ μ¬μ©νλ λ°μ΄ν° νμ μ μλ―Ένλ€.
λ°μ΄ν°λ₯Ό μ μ₯νλ μ₯μκ° μ μ, μ€μ, ꡬ쑰체 λλ λ¬Έμμ΄μ μ μ₯νλ λ³μμΈμ§ ꡬλ³νκΈ° μν λͺ©μ μΌλ‘ μ¬μ©νλ€.
ν¬κ² boolν, μ μν, μ€μν, λ¬Έμνμ΄ μ‘΄μ¬νλ€.
βοΈ boolean
trueμ falseκ°λ§μ λ΄μ μ μμΌλ©°, κ°μ΄ μ°ΈμΈμ§ κ±°μ§μΈμ§ νλ¨νλ€.
π’ μ μν
νμ | ν λΉ λ©λͺ¨λ¦¬ ν¬κΈ° | νν λ²μ |
short | 2 bytes | -2^15 ~ ( 2^15 -1) |
unsigned short | 2 bytes | 0 ~ (2 ^ 16 - 1) |
int | 4 bytes | -2^31 ~ (2^31 - 1) |
unsigned int | 4 bytes | 0 ~ (2^32 - 1) |
long | 4 bytes | -2^31 ~ (2^31 - 1) |
unsigned long | 4 bytes | 0 ~ (2^32 - 1) |
long long | 8 bytes | -2^63 ~ (2^63 - 1) |
unsigned long long | 8 bytes | 0 ~ (2^64 - 1) |
π’ μ€μν
νμ | ν λΉ λ©λͺ¨λ¦¬ ν¬κΈ° | νν λ²μ |
float | 4 bytes | (3.4 * 10^ -38) ~ (3.4 * 10^38) |
double | 8 bytes | (1.7 * 10^-308) ~ (1.7 * 10^308) |
π€ λ¬Έμν
νμ | ν λΉ λ©λͺ¨λ¦¬ ν¬κΈ° | νν λ²μ |
char | 1 bytes | 2^7 |
unsigned char | 1 btyes | 0 ~ 2^8 |
ποΈ μ΄κΈ°ν
λ³μλ₯Ό μ μΈν λ€, μ΄λ ν κ°μ μ μ₯νμ§ μμΌλ©΄ ν λΉλ λ©λͺ¨λ¦¬λ μ°λ κΈ° κ°μ΄ μ‘΄μ¬νκ²λλ€.
λ°λΌμ λ³μλ₯Ό μμ±νκ³ κ°μ λ£μ΄μ μ΄κΈ°ν ν΄μ£Όμ΄μΌνλ€.
void main() {
// λ°©λ²1
int a = 100;
// λ°©λ²2
int b;
b = 100;
// λ°©λ²3
int c(100)
}
ππ» λ³μ μ΄λ¦
λ³μ μ΄λ¦μ μ ν λλ κ·μΉμ΄ μ‘΄μ¬νλ€.
- CμΈμ΄μ κ°μ΄ λμλ¬Έμ ꡬλΆ
- ν€μλλ₯Ό λ³μλͺ μμ μ¬μ©ν μ μλ€. (λμλ¬Έμκ° λ€λ₯΄λ€λ©΄ μ¬μ©μ΄ κ°λ₯)
- λ³μ μ΄λ¦μ 첫 λ²μ§Έ λ¬Έμλ μΌλ° λ¬Έμλ₯Ό μ¬μ©νκ±°λ '_'λ₯Ό μ¬μ©ν΄μΌνλ€.
- 첫 λ¬Έμ λ€μμλ μΌλ° λ¬Έμμ μ«μ κ·Έλ¦¬κ³ νΉμλ¬Έμλ₯Ό μ¬μ©ν μ μλ€.
'Language > C++' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ C++ ] μ μΆλ ₯ λ°©μμ λν΄ μμ보μ. (0) | 2024.04.28 |
---|---|
[ C++ ] ν¬μΈν°μ λν΄ μμ보μ. (2) | 2024.04.02 |