가변 개수의 인수를 사용 하 여 호출할

부분 매개 변수 목록은 줄임표 표기법, 쉼표 다음에 3개의 점(, ...)으로 종료되어 함수에 전달된 더 많은 인수가 있지만 그에 대한 추가 정보는 없다는 것을 나타낼 수 있습니다.이러한 인수에는 형식 검사가 수행되지 않습니다.하나 이상의 매개 변수가 줄임표 표기법 앞에 나와야 하며 줄임표 표기법은 매개 변수 목록에서 마지막 토큰이 되어야 합니다.줄임표 표기법 없이, 매개변수 목록에 추가로 매개변수를 접수할 경우, 함수의 동작이 정의되지 않습니다.

인수의 여러가지 번호로 함수를 요청하려면, 함수 요청에서 어떠한 수의 인수들을 간단하게 명시해야 합니다.C 런타임 라이브러리의 printf 함수를 예로 들 수 있습니다.함수 호출은 매개 변수 목록이나 인수 형식 목록에 선언된 각 형식 이름에 대한 인수를 포함해야 합니다.

함수 호출에서 지정한 모든 인수는 __fastcall 호출 변환이 지정되지 않으면 스택에 배치됩니다.함수에 선언 된 매개 변수의 수는 스택에서 가져올 인수와 매개 변수에 할당할 인수의 개수를 결정합니다.스택에서 추가 인수를 검색하고 얼마나 많은 인수를 사용할 것인가를 결정해야 합니다.STDARG.H 파일은 가변 개수의 인수를 사용 하는 함수의 인수에 액세스하기 위한 ANSI 스타일 매크로를 포함하고 있습니다.또한, XENIX 스타일 매크로에 VARARGS.H도 지원 됩니다.

이 선언 샘플은 다음과 같은 여러 가지 인수를 호출하는 함수에 대한 것입니다.

int average( int first, ...);

참고 항목

개념

함수 호출