C-Bibliothek Makro - va_start ()
C Standard - Bibliothek - <stdarg.h>
Beschreibung
C - Bibliothek MakroLeere va_start (va_list ap, last_arg) apinitialisiert Variable, esva_argundva_endMakros zusammen verwendet werden.last_arg an die Funktion übergeben wird , ist der letzte bekannte feste Parameter, die Auslassungs vorherigen Parameter.
Dieses Makro muss vor der Verwendungva_arg und va_endaufgerufenwerden.
Erklärung
Hier ist die va_start () Makro-Anweisung.
void va_start(va_list ap, last_arg);
Parameter
- ap - es ist ein Objekt vom Typ va_list, die zusätzliche Parameter durch dieva_argzum Speichern verwendet wird , um die notwendigen Informationen zu erhalten.
- last_arg - letzte Funktion bekannt festen Parameter an sie übergeben.
Rückgabewert
NA
Beispiele
Das folgende Beispiel zeigt die va_start () Makro-Nutzung.
#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; }
Lassen Sie uns zusammenzustellen und um das obige Programm ausführen, die in der folgenden führen:
10、20 和 30 的和 = 60 4、20、25 和 30 的和 = 79