가변 인자의 사용

printf의 경우처럼, 정해지지 않은 숫자의 인자를 받기 위한 방법으로 가변인자가 존재한다.
가변 인자는 오른쪽 끝에만 사용할 수 있으며, 가변 인자가 아닌 인자가 하나 이상 존재해야 한다.

C에서는

#include <stdarg.h>

C++에서는

#include <cstdarg>

의 형태로 불러오자.

va_list

가변 인자의 주소를 char*로 가르쳐 주기 위한 타입

va_start

va_list 타입 포인터에 가변 인자의 첫번째 포인터 주소를 전달한다.

va_arg

va_list 타입 포인터에 가변 인자의 다음 포인터 주소를 전달한다.

va_end

va_list타입 포인터를 널 포인터로 만들어 사용을 종료한다.

 

Leave a Reply