Parametri
Gli argomenti sono nomi dei valori passati a una funzione di una chiamata di funzione.I parametri sono valori che la funzione prevede di ricevere.In un prototipo di funzione, le parentesi dopo il nome della funzione contengono un elenco completo dei tipi di funzioni di parametri e.Le dichiarazioni dei parametri specificano i tipi, le dimensioni e gli identificatori di valori archiviati nei parametri.
Sintassi
definizione di funzione:
dichiarazione-identificatori scegliereattributo-seguente sceglieredichiarazione-elenco del dichiaratore sceglierecomposto-rendiconto/* attributo-seguente è Microsoft specifico */
dichiaratore :
puntatore sceglierediretto-dichiaratorediretto-dichiaratore: Dichiarazione di funzione/* */A
diretto-dichiaratore ( parametro-tipo-elenco ) dichiaratore stile nuova/* */parametro-tipo-elenco: Elenco di parametri/* */A
elenco di parametrielenco di parametri ,…
elenco di parametri:
parametro-dichiarazioneelenco di parametri , parametro-dichiarazione
parametro-dichiarazione:
dichiarazione di dichiarazione-identificatoriastratto-dichiaratore di dichiarazione-identificatori scegliere
parametro-tipo-elenco è una sequenza di dichiarazioni di parametri separati da virgole.Il form di ogni parametro negli aspetti di un elenco di parametri è analogo al seguente:
[register] type-specifier [declarator]
Parametri di funzione dichiarati con autoidentificatori l'attributo genera errori.Gli identificatori dei parametri utilizzati nel corpo della funzione per fare riferimento ai valori passati alla funzione.È possibile assegnare un nome ai parametri in un prototipo, ma i nomi escono dall'ambito alla fine della dichiarazione.Di conseguenza i nomi dei parametri possono essere assegnati la stessa modalità o in modo diverso nella definizione di funzione.Questi identificatori non possono essere ridefinite nel blocco più esterno del corpo della funzione, ma possono essere ridefinite in blocchi interni e annidati come se l'elenco di parametri fosse un blocco di inclusione.
Ogni identificatore in parametro-tipo-elenco deve essere preceduto dal relativo identificatore appropriato per il tipo, come illustrato nel seguente esempio:
void new( double x, double y, double z )
{
/* Function body here */
}
Se almeno un parametro avviene nell'elenco di parametri, l'elenco può terminare con una virgola seguita da tre punti (,…).Questa costruzione, denominata “la notazione dei puntini di sospensione,„ indica un numero variabile di argomenti della funzione.(Vedere Chiamate con un numero variabile di argomenti per ulteriori informazioni.) Tuttavia, una chiamata alla funzione deve avere almeno un numero di argomenti come esistono parametri prima dell'ultima virgola.
Se non devono essere argomenti passati alla funzione, l'elenco dei parametri è sostituito dalla parola chiave void.questo utilizzo di void è diverso dal relativo utilizzo come identificatore di tipo.
L'ordine e il tipo di parametri, inclusi qualsiasi utilizzo della notazione dei puntini di sospensione, devono essere gli stessi in tutte le dichiarazioni di funzione (se presenti) e nella definizione di funzione.I tipi degli argomenti dopo che le conversioni aritmetiche normali devono essere assegnazione-compatibili con i tipi dei parametri corrispondenti.(Vedere conversioni aritmetiche usuali per informazioni sulle conversioni aritmetiche.) Gli argomenti che seguono i puntini di sospensione non sono archiviati.Un parametro può avere qualsiasi foundation, struttura, unione, puntatore, o un tipo di matrice.
Il compilatore esegue indipendente le conversioni aritmetiche normali su ogni parametro e ogni argomento, se necessario.Dopo la conversione, non è presente alcun parametro più breve di l inte nessun parametro ha float tipo a meno che il tipo di parametro sia specificato in modo esplicito come float nel prototipo.Ciò significa, ad esempio, la dichiarazione di parametro come char ha lo stesso effetto ottenuto mediante la dichiarazione come int.