가변 인자 함수 정의 및 사용을 위해 필요한 기능을 제공하는 표준 라이브러리 헤더
인자 수를 제한 없이 할 수 있도록 하는 함수를 허용할 수 있도록 함
알려지지 않는 숫자나 타입의 함수 인자 목록을 통한 절차를 위한 기능을 제공
va_list
: 가변 인자 목록을 나타내는 데이터 타입
가변인자 목록 포인터, 가변 인수 위치를 가르키는 변수
va_start()
: va_list를 초기화하고 가변 인자 처리를 시작할 때 사용
가변 인자 목록과 함께 사용
ex. va_start(ap, args);
첫번째 가변 인수의 위치를 마지막 고정인수를 가지고 결정
va_arg()
: 가변 인자 목록에서 다음 가변 인자 값을 가져오는 함수
사용자가 가져올 값의 타입을 지정하고 해당 값을 반환
num = va_arg(ap, int);
ap를 int 크기만큼 순방향으로 이동하면서 현재 가변 인수 값을 얻어 num 변수에 대입 (현재 가변인수 자료형은 int형)
va_end()
: 가변 인자 처리를 종료하고 va_list를 정리하는 함수
va_end(ap);
가변 인자 목록 포인터를 NULL로 초기화