Condividi tramite


Chiamate con un numero variabile di argomenti

Un elenco di parametri parziale può essere terminato dalla notazione di sospensione, una virgola seguita da tre punti (, ...), per indicare che possono essere presenti più argomenti passati alla funzione, ma non informazioni riguarda essi.Il controllo di tipo non viene eseguito su tali argomenti.Almeno un parametro deve precedere la notazione di sospensione e la notazione di sospensione deve essere l'ultimo token nell'elenco di parametri.Senza la notazione di sospensione, il comportamento di una funzione è definito se riceve i parametri oltre a quelli dichiarati nell'elenco di parametri.

Per chiamare una funzione con un numero variabile di argomenti, specificare semplicemente qualsiasi numero di argomenti nella chiamata di funzione.Un esempio è la funzione printf dalla libreria di runtime del linguaggio C.La chiamata di funzione deve includere un argomento per ogni nome del tipo dichiarato nell'elenco di parametri o nell'elenco di tipi di argomento.

Tutti gli argomenti specificati nella chiamata di funzione vengono inseriti nello stack a meno che la convenzione di chiamata __fastcall sia specificata.Il numero di parametri dichiarati per la funzione determina gli argomenti vengono forniti lo stack e vengono assegnati i parametri.Il responsabile di recuperare tutti gli argomenti aggiuntivi lo stack e di determinare il numero di argomenti sono presenti.Il file di STDARG.H contiene macro stile ANSI per accedere agli argomenti delle funzioni che accettano un numero variabile di argomenti.Inoltre, le macro stile XENIX in VARARGS.H sono ancora supportate.

Questa dichiarazione di esempio è valido per una funzione chiamata da un numero variabile di argomenti:

int average( int first, ...);

Vedere anche

Concetti

Chiamate di funzione