Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
va_start - Variable Argumentenliste initialisieren
&pagelevel(4)&pagelevel
Definition | #include <stdarg.h> void va_start(va_list arg_zg, parmN); Das Makro va_start dient, zusammen mit den Makros va_arg und va_end , zur Bearbeitung einer Liste von Argumenten, deren Anzahl und Typ bei jedem Funktionsaufruf variieren kann. Eine variable Argumentenliste wird in der Formalparameterliste der Funktionsdefinition mit ", ..." gekennzeichnet. va_start muss vor dem ersten Zugriff auf ein „namenloses“ Argument aufgerufen werden. Das Makro initialisiert die variable Argumentenliste arg_zg für nachfolgende va_arg - und va_end -Aufrufe.
|
Parameter | va_list arg_zg Argumentenliste. parmN Name des letzten „benannten“ Parameters in der Formalparameterliste der Funktionsdefinition. Das ist der Parameter, auf den ", ..." folgt. Funktionen, die variable Argumentenlisten verarbeiten, müssen mindestens einen benannten Parameter definieren. parmN darf nicht vom Typ Register, Funktion oder Array sein. |
Hinweise | Das Verhalten ist undefiniert, wenn parmN einen unzulässigen Datentyp hat oder wenn der Datentyp nicht zum aktuellen Argument passt. Die Kompatibilität von Argumenttypen wird vom C-Laufzeitsystem dahingehend unterstützt, dass ähnliche Typen in der selben Weise in der Parameterliste abgelegt werden, und zwar: Alle unsigned -Typen (inklusive char ) werden wie unsigned int dargestellt (rechtsbündig in einem Wort). Alle anderen ganzzahligen Typen werden wie int dargestellt (rechtsbündig in einem Wort).
float wird wie double dargestellt (rechtsbündig in einem Doppelwort). |
Beispiel | siehe bei va_arg |
Siehe auch
va_arg, va_end