Udostępnij za pośrednictwem


Wywołania o zmiennej liczbie argumentów

Lista częściowe parametr może zostać rozwiązana przez notacji wielokropka orednik trzy okresy (,...), aby wskazać, że może być więcej argumentów przekazanych do funkcji, ale nie więcej informacji znajduje się na ich temat.Typ kontroli nie jest wykonywane na takie argumenty.Co najmniej jeden parametr musi poprzedzać notacji wielokropka i notacji wielokropka musi być ostatni token w liście parametrów.Bez notacji wielokropka zachowanie funkcji jest niezdefiniowana, jeżeli otrzyma parametry obok tych zadeklarowane na liście parametrów.

Aby wywołać funkcję o zmiennej liczbie argumentów, wystarczy określić dowolną liczbę argumentów w wywołaniu funkcji.Przykładem jest printf z C funkcji biblioteki uruchomieniowej.Wywołanie funkcji musi zawierać jeden argument dla każdej nazwy typ zadeklarowany w listy parametrów listy typów argumentów.

Wszystkie argumenty określony w wywołaniu funkcji są umieszczane na stosie, chyba że __fastcall konwencji wywoływania jest określony.Liczba parametrami zadeklarowanymi jako funkcja określa, ile argumentów są podejmowane ze stosu i przypisany do parametrów.Jesteś odpowiedzialny za pobieranie dodatkowe argumenty ze stosu i określenia, ile argumentów są obecne.STDARG.H plik zawiera makra stylu ANSI do uzyskiwania dostępu do argumentów funkcji, które mają zmienną liczbę argumentów.Ponadto makra XENIX stylu w VARARGS.H nadal są obsługiwane.

Deklaracja ta próbka jest dla funkcji, która wywołuje zmiennej liczbie argumentów:

int average( int first, ...);

Zobacz też

Koncepcje

Wywołania funkcji