C-Programmierung

Listenparameter

Parameterpaare | | Ãœbung zu Ellipsen

Da die Parameter einer Ellipse unbenamt sind, lassen sie sich nicht direkt als Argument an eine weitere Ellipsenfunktion weiterreichen. Die Ãœbergabe geschieht mittels eines va_list Parameters.

Schema mit direkter Angabe der Parameteranzahl:

void f(int n, va_list args);

void g(int n, ...)
{
   va_list args;

   va_start(args, n);
   f(n, args);
   va_end(args);
   }

Beispiel:

int vprintf(char *format, va_list arg_ptr);

Q Ellipsen kommen in der Praxis sehr selten vor. Warum?

Die Anwendung ist wegen der fehlenden Typprüfung gefährlich und intransparent. Ausserdem gibt es z.B. in C++ Mechanismen, welche viel besser für eine variable Anzahl von Parametern geeignet sind.

Parameterpaare | | Ãœbung zu Ellipsen

Options: