C makro biblioteki - va_start ()
Biblioteka standardowa języka C - <stdarg.h>
opis
C biblioteki makronieważne va_start (va_list ap, last_arg) apzmienne inicjowane, to makrava_argiva_endsą używane razem.last_arg przekazywany do funkcji jest ostatnia znana stałym parametrem, wielokropka poprzednie parametry.
To makro musi być wywołana przed użyciemva_arg i va_end.
oświadczenie
Oto va_start () makro stwierdzenie.
void va_start(va_list ap, last_arg);
parametry
- ap - jest to obiekt typu va_list,który jest używany do przechowywania dodatkowych parametrów za pośrednictwemva_arguzyskać niezbędne informacje.
- last_arg - ostatnia funkcja znana przekazywane do niej stałym parametrem.
Wartość zwracana
NA
Przykłady
Poniższy przykład demonstruje va_start () Makro użytkowania.
#include<stdarg.h> #include<stdio.h> int sum(int, ...); int main(void) { printf("10、20 和 30 的和 = %d\n", sum(3, 10, 20, 30) ); printf("4、20、25 和 30 的和 = %d\n", sum(4, 4, 20, 25, 30) ); return 0; } int sum(int num_args, ...) { int val = 0; va_list ap; int i; va_start(ap, num_args); for(i = 0; i < num_args; i++) { val += va_arg(ap, int); } va_end(ap); return val; }
Załóżmy, skompilować i uruchomić powyższy program, który spowoduje w następujących przypadkach:
10、20 和 30 的和 = 60 4、20、25 和 30 的和 = 79