C makro biblioteki - va_arg ()
Biblioteka standardowa języka C - <stdarg.h>
opis
C bibliotekitypu makro va_arg (va_list ap, type)Funkcja pobierania następny parametr lista parametrówtypu typ.Nie można określić, czy pobrana parametrem jest ostatni parametr do funkcji.
oświadczenie
Oto va_arg () makro stwierdzenie.
type va_arg(va_list ap, type)
parametry
- ap - jest to obiekt typu va_list,przechowuje informacje na temat dodatkowych parametrów i pobrać stan. Cel ten powinien być przed pierwszym wywołanie va_arg inicjowany przez wywołanie va_start.
- Typ - Jest to nazwa typu.Nazwa typu jako rozszerzenie typu makra, z wypowiedzi w użyciu.
Wartość zwracana
To makro zwraca następny extra typ parametru jest rodzajem ekspresji.
Przykłady
Poniższy przykład demonstruje va_arg () Makro użytkowania.
#include <stdarg.h> #include <stdio.h> int sum(int, ...); int main() { printf("15 和 56 的和 = %d\n", sum(2, 15, 56) ); 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:
15 和 56 的和 = 71