가변인자 함수

Programming/C 2013. 2. 14. 18:22 |

가변인자 함수에 대한 모든 것은 stdarg.h에 선언되어 있다.


매개변수 선언인 ...은 인자의 자료형과 수에 제한이 없음을 의미.


 1 단계 (va_list)    : 가변인자를 가리킬 수 있는 참조자를 선언한다.

 2 단계 (va_start)  : 참조자가 가변인자를 실제로 참조할 수 있도록 한다.

 3 단계 (va_arg)   : 참조자를 통해 전달된 정보를 추출한다.

 4 단계 (va_end)  : 참조자가 더 이상 가변인자를 가리키지 않도록 해제한다.






■ 매크로 함수의 가변인자 정의 : __VA_ARGS__


:매크로 __VA_ARGS__를 활용하면, 매크로의 형태로도 가변인자 함수의 정의가 가능하다.




...은 다양한 전달인자가 올 수 있음을 의미하고, __VA_ARGS__는 전달된 매개변수를 그대로 옮겨 놓는다는 의미의 매크로이다.


'Programming > C' 카테고리의 다른 글

문자열을 복사하는 strcpy, strncpy함수  (0) 2013.02.15
scanf함수에 &를 붙이는 이유  (0) 2013.02.15
2진수를 8진수로 16진수로, 8진수를 16진수로  (0) 2013.02.15
2진수 음수 계산법  (0) 2013.02.15
파일의 분할.  (0) 2013.02.14
Posted by scii
: