C에서 사용자 정의 함수의 인수를 여러 개 전달할 수있는 방법은 무엇입니까? 해당 함수의 프로토 타입은 무엇입니까? 여러 가지 인수를 사용할 수있는 printf와 비슷합니다.C의 사용자 정의 함수에서 여러 개의 인수를 전달할 수있는 방법은 무엇입니까?
4
A
답변
7
예를 들어 here을보십시오.
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
int maxof(int, ...) ;
void f(void);
main(){
f();
exit(EXIT SUCCESS);
}
int maxof(int n args, ...){
register int i;
int max, a;
va_list ap;
va_start(ap, n args);
max = va_arg(ap, int);
for(i = 2; i <= n_args; i++) {
if((a = va_arg(ap, int)) > max)
max = a;
}
va_end(ap);
return max;
}
void f(void) {
int i = 5;
int j[256];
j[42] = 24;
printf("%d\n",maxof(3, i, j[42], 0));
}
0
이러한 함수는 calle 가변이지만, 이러한 함수는 처음에는 보이는 것보다 훨씬 유용하지 않습니다. 화제에 wikipedia page는 나쁘지 않고, C 부호가있다.
이러한 기능의 기본 문제는 매개 변수의 수를 실제로 가변 할 수 없다는 것입니다. 매개 변수의 수는 알려진 매개 변수로 컴파일 할 때 고정되어야합니다. 이것은 printf에서 분명합니다.
printf ("% s % d", "Value is", 42);
% 지정자의 수는 실제 값의 수와 일치해야하며, C의 다른 가변 함수를 한 가지 형식으로 사용하는 경우에도 마찬가지입니다.
관련 문제
- 1. j2me 응용 프로그램에서 명령 줄 인수를 전달할 수있는 방법은 무엇입니까?
- 2. 여러 개의 사용자 정의 컨트롤
- 3. Objective-C의 사용자 정의 UIButton
- 4. C++ 함수에서 동적 인수를 루프하는 방법은 무엇입니까?
- 5. 여러 개의 인수를 받아서 인쇄하는 매크로를 작성하는 방법은 무엇입니까?
- 6. 함수에서 인수를 함수로 전달할 때 private 함수를 호출합니까?
- 7. 고객마다 여러 개의 사용자 정의 특성이있을 수있는 스키마를 만드는 방법은 무엇입니까?
- 8. 여러 개의 이미지가있는 사용자 정의 버튼
- 9. 사용자 정의 함수에서 sql 호출
- 10. jqModal에서 아약스에 인수를 전달할 수 있습니까?
- 11. flex에서 combobox에 전달할 수있는 방법은 무엇입니까?
- 12. C의 함수에서 오류가 발생하면 어떻게해야합니까?
- 13. 장고에서 order_by()에 여러 개의 사용자 정의 필드를 전달하려면 어떻게해야합니까?
- 14. gcc에서 인수를 전달할 때의 문제
- 15. Prototype에서 onSuccess 함수에 여러 인수를 전달하는 방법은 무엇입니까?
- 16. Cygwin에서 여러 개의 인수를 실행하는 방법
- 17. 레일 : after_create 메소드에 인수를 전달할 수 있습니까?
- 18. 여러 인수를 사용하는 재귀 적 메서드 정의
- 19. 함수에서 인수를 함수로 전달하는 경우
- 20. Clojure에서 defmethod에 대한 여러 인수를 어떻게 전달할 수 있습니까?
- 21. UDF에 인수를 지정하는 방법은 무엇입니까?
- 22. R : 사용자 정의 함수에서 데이터 프레임 빌드하기
- 23. 중첩 함수에서 부모 함수 인수를 전달합니까?
- 24. 함수에서 여러 값 반환하기
- 25. 사용자 당 여러 개의 프로필을 처리하는 방법은 무엇입니까?
- 26. 변수를 사용자 정의 컨트롤에 전달할 수 없습니다.
- 27. 사용자 정의 save() 메소드에 인수를 전달합니다.
- 28. 여러 개의 UILabel 및 이미지가있는 사용자 정의 버튼
- 29. C# 사용자 정의 함수에서 폼 컨트롤에 액세스
- 30. TSQL 사용자 정의 함수에서 PRINT를 어떻게 출력합니까?