Home » va_arg()

va_arg()

C/C++ : 가변 인수 매크로 함수 구현

va_args in c

예전에 가변 인수를 받는 C 함수를 만드는 법을 간단히 살펴본 적이 있는데, 오늘은 좀 더 자세히 알아보자.
C 언어에서 복수 인자를 받는 함수는 다음과 같이 선언한다.

반환형 함수명(고정인자[, 고정인자] ,....);

최소 1개 이상의 고정인자가 있고, 그 이후에 ...을 써서 추가적인 인자를 더 받는다는 것을 알려준다.
더 보기 »C/C++ : 가변 인수 매크로 함수 구현

[C/C++] 가변인수를 받는 함수

C함수의 가변인수 C함수도 가변인수를 사용할 수 있다. 대표적인 예가 printf이다. printf에는 서식 문자열을 비롯하여 서식에 채워질 값들을 컴마로 연결하여 나열할 수 있다. 이러한 가변인수는 어떻게 만들어서 사용할 수 있는지 살펴보자. 가변인수 함수의 선언 가변 인수 함수는 가변적으로 받을 인수 대신 …을 사용하는 것으로 가변 인수 함수임을 컴파일러에게 알릴 수 있다. 인수에 …이 들어있는 경우 컴파일러는 인수의 개수나 타입에 대해서는 전혀 신경을 쓰지 않게 된다. (결국 이는 함수 구현 시 프로그래머가 일일이 체크해야 하는 부분이다.) 이 때 중요한 것은 고정적으로 사용하는 인수는… 더 보기 »[C/C++] 가변인수를 받는 함수