stdarg.h

이유정·2023년 10월 6일

c언어

목록 보기
13/16

1. stdarg.h

가변 인자 함수 정의 및 사용을 위해 필요한 기능을 제공하는 표준 라이브러리 헤더
인자 수를 제한 없이 할 수 있도록 하는 함수를 허용할 수 있도록 함
알려지지 않는 숫자나 타입의 함수 인자 목록을 통한 절차를 위한 기능을 제공

  • 가변 인자 함수(variable argument)
    : 함수가 임의의 개수의 인수를 받을 수 있는 함수

2. 관련 함수 및 매크로

  • 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로 초기화

출처: https://ko.wikipedia.org/wiki/Stdarg.h

profile
안녕하세요 이유정입니다. 반갑습니다.

0개의 댓글