본문 바로가기

Programming/C++

07. 함수 심화 포인터를 반환 하는 함수 , 가변인자 함수

포인터를 반환 하는 함수
int* test(int pi)
{       
     return π
}


가변인자 함수
함수를 통해서 전달 되는 가변인자 정보를 추출 하기 위해서는 단계를 실행 한다
단계 1: 가변인자를 가리킬 수 있는 참조자를 선언 한다 va_list
단계 2: 참조자가 가면인자를 실재로 참조할 수 있도록 한다 va_start
단계 2: 참조자를 통해 전달된 정보를 추출한다 va_arg
단계 2: 참조자가 더 이상 가변인자를 가리키지 않도록 해제한다 va_end
이들을 사용 하기 위해서는 #include <stdarg.h> 해야 한다

void Sum(const char *msg , ...)
{
     int arg ;

     va_list vlist ; // 가변인자의 참조자 선언
   va_start(vlist ,msg); // 참조 대상과 범위 지전

     for (;;) {

          arg=va_arg (vlist, int); // 값의 추출

          if (arg == 0) {
               break;
          }
          printf(msg ,arg);
     }
     printf("\n" );

     va_end(vlist ); // 해제
}

int main()
{
     Sum("asd = %d" ,10);
   // 표시 asd = 10
     return 0;
}

http://www.soen.kr/ C고급 15-3.가변 인자