Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+
next up previous contents index
Next: Visibilité des identificateurs Up: Les déclarations Previous: Déclarations de définition et

Portée des déclarations

  Il existe en C quatre types de portées possibles pour les déclarations :
-
un identificateur déclaré à l'extérieur de toute fonction, a une portée qui s'étend de son point de déclaration jusqu'à la fin du source ;

-
un paramètre formel de fonction a une portée qui s'étend de son point de déclaration jusqu'à la fin de l'instruction composée formant le corps de la fonction ;

-
un identificateur déclaré dans une instruction composée a une portée qui s'étend du point de déclaration jusqu'à la fin de l'instruction composée ;

-
une étiquette d'instruction a une portée qui comprend tout le corps de la fonction dans laquelle elle apparaît.

Exemple :

int i;             /*   déclaration à l'extérieur de toute fonction      */

void proc1(int j)  /*  j paramètre de la procédure proc1                 */
{

...                /*   instructions 1                                   */

k:
if (...)
   {
   int l;      /*  déclaration à l'intérieur d'une instruction composée  */

   ...         /*   instructions 2                                       */
   }
}              /*   fin de proc1                                         */

int func1()    /*   début de func1                                       */
{
...            /*   instructions 3                                       */
}              /*   fin de func1                                         */

Dans cet exemple,
i pourra être référencé par instructions1, instructions2 et instructions3,
j pourra être référencé par instructions1 et instructions2,
k pourra être référencé par instructions1 et instructions2,
l pourra être référencé par instructions2.



Bernard Cassagne
1998-12-09
Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.