c언어

    [C] printf() 구현하기 - 가변 인수 함수란?

    printf() 함수 구현 중에 마주친 가변 인수의 개념. 대충 "바뀔 수 있는 인수"라는 뜻인 것 같은데 언제 어디에서 사용되는 개념인지 알아보자. 가변 인수 (Variable Argument) 가변 인수는 미리 정해져 있지 않은 인수를 의미한다. 즉, 인수의 개수와 자료형이 따로 정해져 있지 않은 인수라는 뜻이다. 가변 인수 함수란 이러한 가변 인수를 다루는 함수이다. 이렇게 풀어쓰니 잘 와닿지 않는 것 같지만 사실 나는 이미 가변 인수 함수를 사용하고 있었다. 바로 printf() 함수가 가변 인수를 가지는 함수의 대표적인 예시이다. 먼저 아래는 오리지널 printf() 함수의 프로토타입이다. intprintf(const char *format, ...); 내가 구현해야 하는 ft_printf() ..

    [C] printf() 함수란?

    ft_printf()를 구현하기 전에 C언어의 표준 입출력 함수 printf() 함수를 알아보자. C를 배우고 난 뒤로 가장 많이 사용한 함수일텐데 함수의 서식이나 원리를 따로 공부하지는 않았다. 막연하게 출력하는 함수라고만 알고 있었기 때문에 누군가 "printf() 함수가 뭔데?" 라고 물어보면 한마디로 설명할 수가 없어서 리눅스에 printf()에 대해서 물어봤다. man printf 정리하자면 printf()는 여러 데이터를 다양한 형식에 맞추어 출력하는 함수이다. 매뉴얼의 시놉시스를 보면 함수를 아래와 같이 표현한다. printf format [arguments ... ] 위의 format 부분에는 단순 문자열(plain characters), 이스케이프 시퀀스(character escape s..