variadic arguments - KimTaebin-ai/study_posts GitHub Wiki
κ°λ³μΈμλ
μ΄λ¦ κ·Έλλ‘ 'μΈμκ° λ³ν μ μλ€' λ μλ―Έμ΄λ€.
μΈμμ νμ κ³Ό κ°μκ° μ ν΄μ§μ§ μλλ€.
C μΈμ΄μμ ν¨μλ₯Ό μ¬μ©νλ€λ³΄λ©΄ λ§€κ° λ³μμ κ°μκ° μ ν΄μ Έμμ§ μμ ν¨μκ° μλλ° λνμ μΈ μλ‘ printfκ° μλ€.
μΌλ°μ μΈ pritfλ₯Ό μ¬μ©ν λ, printf("int == %d, double == %lf, char == %c, str == %s", i, j, k, l) μ΄μ κ°μ΄ 첫 μΈμ λ¬Έμμ΄μ μ μΈνλ©΄ λ§μλλ‘ μμ±ν μ μλ€.
int ft_printf(const char *bs, ...)
{
va_list ap;
int answer;
answer = 0;
va_start(ap, bs);
answer = check(bs, ap);
va_end(ap);
return (answer);
}
printfμ ν¨μ μνμ int printf(const char *format, ...)
μ΄λ κ² μν©μ λ°λΌ ν¨μμ μΈμμ κ°μκ° λ€λ₯΄κ² ν λΉλμ΄λ μ²λ¦¬ν μ μκ² ν΄μ£Όλ κ²μ΄ κ°λ³ μΈμμ΄λ€.
κ°λ³ μΈμ
λ₯Ό ν¬ν¨ν ν¨μμλ λ μ’
λ₯μ μΈμκ° μꡬλλ€.
- νμ μΈμ
- μ νμ μΈμ
μ¬κΈ°μ λ§ν μ νμ μΈμλ κ°λ³ μΈμμΈλ°, κ°λ³ μΈμλ₯Ό λ°κΈ° μν΄μ μ¬μ μ νμ μΈμκ° λ¬΄μ‘°κ±΄ μꡬλλ€. μ νμ μΈμμΈ κ°λ³ μΈμλ λ§ κ·Έλλ‘ μΈμμ μκ° μ ν΄μ Έ μμ§ μκΈ° λλ¬Έμ μ νμ μΈμλ₯Ό λ¨Όμ λ°κ² λλ©΄ ν¨μμ μνμμ μ΄λ μΈμλ₯Ό νμ μΈμλ‘ λ°μ κ²μΈμ§ μ μ μκΈ° λλ¬Έμ, νμ μΈμλ₯Ό λ¨Όμ λ°μ λ€μ μ νμ μΈμλ₯Ό λ°λ κ²μ μμΉμΌλ‘ νλ€.