printf의 경우처럼, 정해지지 않은 숫자의 인자를 받기 위한 방법으로 가변인자가 존재한다.
가변 인자는 오른쪽 끝에만 사용할 수 있으며, 가변 인자가 아닌 인자가 하나 이상 존재해야 한다.
C에서는
#include <stdarg.h>
C++에서는
#include <cstdarg>
의 형태로 불러오자.
va_list
가변 인자의 주소를 char*로 가르쳐 주기 위한 타입
va_start
va_list 타입 포인터에 가변 인자의 첫번째 포인터 주소를 전달한다.
va_arg
va_list 타입 포인터에 가변 인자의 다음 포인터 주소를 전달한다.
va_end
va_list타입 포인터를 널 포인터로 만들어 사용을 종료한다.