Paramètres
Les arguments sont des noms de valeurs passées à une fonction par un appel de fonction.Les paramètres sont les valeurs que la fonction compte recevoir.Dans un prototype de fonction, les parenthèses après le nom de fonction contiennent une liste complète de leurs types de la fonction de les paramètres et.Les déclarations de paramètres spécifient les types, les tailles, et les identificateurs de valeurs stockées dans les paramètres.
Syntaxe
définition de fonction:
instructionoptcomposéeattribut-seqoptde déclaration-liste des déclarateursoptde déclaration-spécificateurs/* attribut-seq est spécifique de Microsoft *
déclarateur :
direct-déclarateuroptdepointeurdirect-déclarateur: Déclarateur de fonction de/* le quantificateur *
déclarateur de nouveau style de**)/* de paramètre-type-liste de(** de direct-déclarateur *paramètre-type-liste: Liste de paramètres de/* le quantificateur *
liste de paramètresliste de paramètres ,…
liste de paramètres:
paramètre-déclarationparamètre-déclaration deServeur IIS local deliste de paramètres
paramètre-déclaration:
déclarateur de déclaration-spécificateursrésumé-déclarateur de déclaration-spécificateurs opt
la paramètre-type-liste est une séquence de déclarations de paramètre séparées par des virgules.Le formulaire de chaque paramètre dans une liste de paramètres se présente comme suit :
[register] type-specifier [declarator]
les paramètres de fonction déclarés avec l'attribut d' auto génèrent des erreurs.Les ID des paramètres sont utilisés dans le corps de la fonction pour faire référence aux valeurs passées à la fonction.Vous pouvez nommer les paramètres dans un prototype, mais les noms sont hors de portée à la fin de la déclaration.Par conséquent des noms de paramètres peuvent être assignés la même façon ou différemment dans la définition de la fonction.Ces identificateurs ne peuvent pas être redéfinis dans le bloc extérieur de le corps de la fonction, mais ils peuvent être redéfinis dans les blocs internes et imbriqués comme si la liste de paramètres s'agissait d'un bloc englobant.
Chaque identificateur dans la paramètre-type-liste doit être précédé par son spécificateur de type approprié, comme illustré dans cet exemple :
void new( double x, double y, double z )
{
/* Function body here */
}
Si au moins un paramètre se produit dans la liste de paramètres, cette liste peut se terminer par une virgule suivie de trois points (,…).Cette construction, appelée « notation de sélection, » indique un nombre variable d'arguments servant à la fonction.(Voir l' Appels avec un nombre variable d'arguments pour plus d'informations.) Toutefois, un appel à la fonction doit posséder autant d'arguments comme il existe des paramètres avant la dernière virgule.
si aucun argument ne doit être passé à la fonction, la liste de paramètres est remplacée par le mot clé void.Cette utilisation d' void est distincte de son utilisation comme un spécificateur de type.
La commande et le type de paramètres, y compris toute utilisation de la notation de sélection, doivent être identiques dans toutes les déclarations de fonction (le cas échéant) et de la définition de la fonction.Les types des arguments après que les conversions arithmétiques habituelles doivent être devoir-compatibles avec les types de paramètres correspondants.(Consultez conversions arithmétiques habituelles pour plus d'informations sur les conversions arithmétiques.) Les arguments suivant les points de suspension ne sont pas activées.Un paramètre peut avoir n'importe quel fondamental, structure, union, pointeur, ou type tableau.
Le compilateur exécute des conversions arithmétiques habituelles indépendamment sur chaque paramètre et sur chaque argument, si nécessaire.Après la conversion, aucun paramètre n'est plus court qu' int, et aucun paramètre n'a le type de float à moins que le type de paramètre soit explicitement spécifié comme float dans le prototype.Cela signifie, par exemple, qui signale un paramètre comme char équivaut à la déclarer comme int.