Une fonction statique en C est une fonction dont la portée est limitée à son fichier cible. Cela signifie que les fonctions statiques ne sont visibles que dans leurs fichiers objets. Une fonction peut être déclarée statique en plaçant le mot-clé static avant son nom.
Un exemple démontrant cela est le suivant :
Il existe deux fichiers first_file.c et second file.c. Le contenu de ces fichiers est le suivant -
Contenu de first_file.c
static void staticFunc(void) { printf("Inside the static function staticFunc() "); }
Contenu de second_file.c
int main() { staticFunc(); return 0; }
Maintenant, si je compile le code ci-dessus, j'obtiens une erreur, c'est-à-dire "référence non définie à staticFunc()". Cela se produit car la fonction staticFunc() est une fonction statique et n'est visible que dans son fichier objet.
Le programme qui démontre la fonction statique en C est le suivant -
#include <stdio.h> static void staticFunc(void){ printf("Inside the static function staticFunc() "); } int main() { staticFunc(); return 0; }
La sortie du programme ci-dessus est la suivante -
Inside the static function staticFunc()
Dans le programme ci-dessus, la fonction staticFunc() est une fonction statique et il imprime "À l'intérieur de la fonction statique staticFunc()". La fonction main() appelle staticFunc(). Le programme fonctionne correctement car les fonctions statiques ne sont appelées qu'à partir de leurs propres fichiers objets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!