가변 인자 ( 가변 매개변수 )

2016. 7. 5. 16:21C,C++

가변인자 ( 가변 파라미터 )

 

헤더 #include <stdarg>

 

#include <stdio.h>

#include <stdarg.h>


int Sum(int n, ...) {     // 고정 인수 1개는 필수


int i;

va_list arglist; // va_list 변수명 : 매개변수에 접근하기 위한 포인터


char sum;

va_start(arglist, n); // va_list(va_list 변수명, 고정인수 )

               처음 매개변수로 va_list로 선언한 포인터 변수와, 고정인수가 담긴다.


for (i=0;i<n;i++)

     {

sum +=va_arg(arglist, int*); // va_arg ( va_list로 선언한 포인터를 다음 가변인자로 이동시켜주는 역할과 자료형을 지정 )

         

 }

va_end(arglist); // 가변인자를 끝내는 함수

return sum;

}

int main()

{    int tmp;

tmp = sum(10,1,2,3,4,5,6,7,8,9,10);

 

printf("%d\n",tmp);

}

 

결과 : 55