Spécificateurs de classe de stockage avec déclarations de fonction
Vous pouvez utiliser le spécificateur de classe de stockage static
ou extern
dans les déclarations de fonction. Les fonctions ont toujours des durées de vie globales.
Section spécifique à Microsoft
Les déclarations de fonctions au niveau interne ont la même signification que les déclarations de fonctions au niveau externe. Cela signifie qu'une fonction est visible de son point de déclaration jusqu'au reste de l'unité de traduction, même si elle est déclarée au niveau de la portée locale.
FIN de la section spécifique à Microsoft
Les règles de visibilité des fonctions varient légèrement des règles pour les variables, comme suit :
Une fonction déclarée comme étant
static
est visible uniquement dans le fichier source dans lequel elle est définie. Les fonctions du même fichier source peuvent appeler la fonctionstatic
, mais les fonctions dans d’autres fichiers sources ne peuvent pas y accéder directement par nom. Vous pouvez déclarer une autre fonctionstatic
avec le même nom dans un fichier source différent sans conflit.Les fonctions déclarées comme
extern
sont visibles dans tous les fichiers sources du programme (sauf si vous redéclarer ultérieurement une fonction comme étantstatic
). Toute fonction peut appeler une fonctionextern
.Les déclarations de fonctions qui omettent le spécificateur de classe de stockage sont
extern
par défaut.
Section spécifique à Microsoft
Microsoft permet la redéfinition d’un identificateur extern
comme étant static
.
FIN de la section spécifique à Microsoft