- #include <stdarg.h>
- int sumAll(int numCnt, ...) { // 인자의 개수를 첫번째 argument로 넣어줘야 함.
- int sum = 0;
- int i = 0;
- va_list argList; // argument 들의 list를 저장할 변수
- va_start(argList, numCnt); // argList를 초기화
- for(i = 0; i < numCnt; i++) {
- int temp = va_arg(argList, int); // argument 받아오기
- printf("[%d] = %d\n", i, temp);
- sum += temp;
- }
- va_end(argList); // 종료
- return sum;
- }
- int main(int argc, char **argv) {
- printf("sum = %d", sumAll(3, 10, 20, 30)); // 인자의 개수를 첫번째로 써주고 나머지는 가변인자
return 0; - }
지금이야 거의 자바만 사용하지만 예전에는 JNI를 사용했기 때문에 C도 많이 봤었는데...
가변인자를 써본적이 없는것 같다.
생각난 김에 맞게 기억하고 있는지 한번 해봤는데..
이거 쓸일이 있을려나...
혹시 IPOD 개발하면서..? ^^
이 글은 스프링노트에서 작성되었습니다.
'Work > Java' 카테고리의 다른 글
[Head First Java] 3_2. 원시변수와 레퍼런스 (0) | 2007.07.18 |
---|---|
[Head First Java] 3_1. 원시변수와 레퍼런스 (0) | 2007.07.16 |
[Head First Java] 2. 클래스와 객체 (0) | 2007.07.12 |
[Head First Java] 1.5 자바의 버전에 대해 (0) | 2007.07.11 |
[Head First Java] 1_1. 언제 어디서나 시작은 "Hello Wordl!!!" (1) | 2007.07.03 |