가변적인 개수의 인수를 사용하여 호출Calls with a Variable Number of Arguments

쉼표 뒤에 마침표 3개(, ...)가 오는 줄임표 표기법으로 부분적 매개 변수 목록을 종료하여 함수에 전달되는 인수가 더 있을 수도 있지만 관련 정보가 더 이상 없음을 나타낼 수 있습니다.A partial parameter list can be terminated by the ellipsis notation, a comma followed by three periods (, ...), to indicate that there may be more arguments passed to the function, but no more information is given about them. 이 인수에 대해 형식 검사를 수행하지 않습니다.Type checking is not performed on such arguments. 줄임표 표기법 앞에 하나 이상의 매개 변수가 와야 하며 매개 변수 목록에서 줄임표 표기법이 마지막 토큰이어야 합니다.At least one parameter must precede the ellipsis notation and the ellipsis notation must be the last token in the parameter list. 줄임표 표기법을 사용하지 않으면 매개 변수 목록에 선언된 매개 변수 외에 매개 변수가 수신될 경우 함수의 동작이 정의되지 않습니다.Without the ellipsis notation, the behavior of a function is undefined if it receives parameters in addition to those declared in the parameter list.

인수의 개수가 일정하지 않은 함수를 호출하려면 함수 호출에 인수를 몇 개 지정하십시오.To call a function with a variable number of arguments, simply specify any number of arguments in the function call. 예를 들어, C 런타임 라이브러리의 printf 함수가 있습니다.An example is the printf function from the C run-time library. 함수 호출은 매개 변수 목록이나 인수 형식 목록에 선언된 형식 이름마다 인수를 하나씩 포함해야 합니다.The function call must include one argument for each type name declared in the parameter list or the list of argument types.

__fastcall 호출 규칙이 지정되지 않으면 함수 호출에 지정된 모든 인수가 스택에 배치됩니다.All the arguments specified in the function call are placed on the stack unless the __fastcall calling convention is specified. 함수에 대해 선언된 매개 변수 개수에 따라 스택에서 가져와 매개 변수에 할당할 인수의 개수가 결정됩니다.The number of parameters declared for the function determines how many of the arguments are taken from the stack and assigned to the parameters. 스택에서 추가 인수를 검색하고 사용할 인수의 개수를 결정해야 합니다.You are responsible for retrieving any additional arguments from the stack and for determining how many arguments are present. STDARG.H 파일에는 일정하지 않은 개수의 인수를 사용하는 암수의 인수에 액세스하기 위한 ANSI 스타일 매크로가 있습니다.The STDARG.H file contains ANSI-style macros for accessing arguments of functions which take a variable number of arguments. VARARGS.H에 있는 XENIX 스타일 매크로도 계속 지원됩니다.Also, the XENIX-style macros in VARARGS.H are still supported.

다음은 일정하지 않은 개수의 인수를 호출하는 함수에 대한 샘플 선언입니다.This sample declaration is for a function that calls a variable number of arguments:

int average( int first, ...);  

참고 항목See Also

함수 호출Function Calls