[C] ν¨μ, static, λ°°μ΄
π‘ ν¨μ
: μ λ ₯μ νλ©΄ κ·Έμ λ°λ₯Έ κ²°κ³Όκ° μΆλ ₯λμ΄ λμ¨λ€.
: μ λ ₯μ΄ λ¬λΌμ§λλΌλ μννλ μΌμ λμΌνλ―λ‘ κ°μ λͺ¨λ μ¬μ¬μ©.
: νΉμ ν κΈ°λ₯μ λ 립μ μΌλ‘ μννλλ‘ λ§λ¦.
- ν¨μ μ μΈ : ν¨μκ° μ΄λ€ ννμΈμ§ 보μ¬μ£Όλκ², ν¨μ μ΄λ¦, ν¨μμ μ μΆλ ₯μ λͺ μ
: μΆλ ₯ λ°μ΄ν°ν ν¨μλͺ (μ λ ₯ μλ£ν λ³μλͺ , μ λ ₯ μλ£ν λ³μλͺ ...);
β μΆλ ₯ λλ μ λ ₯ μλ£νμ΄ μμ λλ voidλ μ무κ²λ μ°μ§ μλλ€.
β ν¨μμμ κ°μ λλ €μ£Όμ§ μκ³ , ν¨μλ₯Ό νΈμΆν κ³³μΌλ‘ λ°λ‘ μ μ΄κ° λμ΄κ° λλ κ²°κ³Όκ°μ μ λ ₯νμ§ μκ³ ,
κ·Έλ₯ return; μ΄λΌκ³ λ§ μ λλ€.
#include <stdio.h>
int sum(int x, int y); // ν¨μ μ μΈ
int main() {
int x = 10, y = 20;
int result;
result = sum(x, y); // ν¨μ νΈμΆ
printf("λνκ°μ >> %d", result);
return 0;
}
int sum(int x, int y) { // ν¨μ μ μ
return x + y; // νΈμΆλ ν¨μμ μ€ν κ²°κ³Όλ₯Ό main()μΌλ‘ λλ €μ€λ€.
}
β CμΈμ΄ : ꡬ쑰μ νλ‘κ·Έλλ°
- νλ‘κ·Έλλ°μ νλ¦μ΄ μμ°¨μ .
- 쑰건μ λ°λ₯Έ λΆκΈ°λ₯Ό ν΅ν΄ νλ¦ μ μ΄
- λ°λ³΅λ¬Έμ μ¬μ©ν΄ νλ‘κ·Έλλ°μ νλ¦μ λ°λ³΅νμ¬ μν.
- νΉμ ν κΈ°λ₯μ λͺ¨λν νλ€.
* λͺ¨λν : λ³λμ κΈ°λ₯μ ν¨μλ‘ κ΅¬ννλ€.
π‘ μ μ λ³μ static
: static λ°μ΄ν°ν λ³μλͺ => μ μ λ³μ
: νλ‘κ·Έλ¨ μ€ν μ€ λ± ν λ²λ§ μμ±λκ³ μ΄κΈ°νλλ€.
: ν¨μ μ€ν λλλ μ¬λΌμ§μ§μκ³ κ³μ μ μ§λλ λ³μ
: μ μ λ³μμ λ©λͺ¨λ¦¬λ μμ€ν μ λ°νλμ§ μκ³ κ·Έλλ‘ λ¨μμλ€.
: μ§μλ³μμ νκ³ κ·Ήλ³΅, μ§μ λ³μ -> μ μ λ³μ
β μ§μ λ³μ / μ μ λ³μ
* μ§μ λ³μκ° λ μ°μ !
π‘ λ°°μ΄
: μ¬λ¬ μ°μμ μΈ κ°μ μ μ₯
: [λ°°μ΄μ ν¬κΈ°] == μ°μμ μΌλ‘ λ©λͺ¨λ¦¬λ₯Ό ν λΉνμ¬ μ€μ ν ν¬κΈ°λ§νΌ μ 보λ₯Ό μ μ₯νκ² λ€.
: λ°μ΄ν°ν λ°°μ΄λͺ [λ°°μ΄ ν¬κΈ°];
ex) int a[3] = {0,1,2}; μ μΈκ³Ό λμμ μ΄κΈ°ν
int a[] = {0,1,2}; // μμμ μ μ₯κ³΅κ° ν λΉν¨
int a[30] = {0 , }; // 0μΌλ‘ μλ μ΄κΈ°ν
π‘ μλ£ν ν¬κΈ° sizeof
: μλ£ν(νμ )μ ν¬κΈ° λ°μ΄νΈ(byte) λ¨μλ‘ κ΅¬ν¨
- sizeof ννμ
- sizeof(μλ£ν)
- sizeof(ννμ)
π‘ μ μν μ΅λκ°, μ΅μκ°
: #include <limits.h>
π‘ μ€μν μ΅λκ°, μ΅μκ°
: #include <float.h>
: float -> FLT_MIN, FLT_MAX
: double -> DBL_MIN, DBL_MAX
: long double -> LDBL_MIN, LDBL_MAX
β μμ μ§μ μ : %.2f : ν΄λΉ μ«μλ§νΌ μμμ μ΄ν΄ μλ¦Ώμλ₯Ό μΆλ ₯νλ€.