Définitions de fonctions C
Une définition de fonction spécifie le nom de la fonction, les types et le nombre de paramètres qu'elle compte receive, et son type de retour.Une définition de fonction comprend également un corps de fonction avec les déclarations de ses variables locales, et les instructions qui déterminent ce que la fonction accomplit.
Syntaxe
unité de traduction:
externe-déclarationexterne-déclaration d'unité de traduction
externe-déclaration: /* A autorisé uniquement dans la portée externe (fichier) *
définition de fonctiondeclaration
définition de fonction: Les déclarateurs de/* ici est le déclarateur de fonction *
instructionoptcomposéeattribut-seqoptde déclaration-liste des déclarateursoptde déclaration-spécificateurs/* attribut-seq est spécifique de Microsoft *
les paramètres de prototype sont :
déclaration-spécificateurs:
déclaration-spécificateurs de stockage-classe-spécificateur optdéclaration-spécificateurs de spécificateur de type opt
déclaration-spécificateurs de type-qualificateur opt
déclaration-liste:
déclarationdéclaration de déclaration-liste
declarator:
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 *déclarateur de style obsolète de**)** opt/* d'identificateur-liste de ( de direct-déclarateur *
la liste de paramètres dans une définition utilise cette syntaxe :
paramètre-type-liste: /* La liste de paramètres *
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écificateursles déclaration-spécificateurs résument les déclarateurs opt
La liste de paramètres dans une définition de fonction avec l'ancienne utilise cette syntaxe :
identificateur-liste: /* Utilisé dans les définitions de fonction et des déclarations de style obsolète *
identifieridentificateur deServeur IIS local d'identificateur-liste
la syntaxe pour le corps de la fonction est :
- instruction composée: /* Le corps de la fonction *
{ declaration-liste d'instructionsopt**}**optdeliste
Les seuls spécificateur de classe de stockage qui peuvent modifier une déclaration de fonction sont extern et statique.Le spécificateur d' extern signifie que la fonction peut être référencé à partir de autres fichiers ; autrement dit, le nom de la fonction est exporté vers l'éditeur de liens.Le spécificateur de statique signifie que la fonction ne peut pas être référencé à partir de autres fichiers ; autrement dit, le nom n'est pas exporté par l'éditeur de liens.Si aucune classe de stockage ne s'affiche dans une définition de fonction, extern est utilisé.Dans tous les cas, la fonction est toujours visible du point de définition à la fin de le fichier.
Les déclaration-spécificateurs facultatifs et l' declarator liaison spécifient définissez le type de retour et le nom de la fonction.declarator est une combinaison de l'identificateur qui nomme la fonction et les parenthèses après le nom de la fonction.Le non terminal attribut-seq facultatif est une fonctionnalité de microsoft définie dans attributs de fonction.
Le direct-déclarateur (dans la syntaxe d' declarator ) spécifie le nom de la fonction définie et les identificateurs de ses paramètres.Si le direct-déclarateur inclut une paramètre-type-liste, la liste spécifie les types de tous les paramètres.Un tel déclarateur sert également de prototype de fonction en appels ultérieurs à la fonction.
declaration dans la déclaration-liste dans les définitions de fonction ne peut pas contenir de stockage-classe-spécificateur autre que registre.Le spécificateur de type dans la syntaxe de déclaration-spécificateurs peut être omis uniquement si la classe de stockage de registre est spécifiée pour une valeur de type d' int .
L'instruction composée est le corps de la fonction contenant les déclarations de variable locale, les références aux éléments de l'extérieur déclarés, et.
Les sections attributs de fonction, classe de stockage, type de retour, paramètres, et Corps de fonction décrit les composants de la définition de fonction en détail.