Mot-clé static

Le problème exposé dans ce sujet a été résolu.

Bonjour,

je suis en train de lire du code C (oui oui), en fait, les sources de Vim, et je suis déjà bloqué tout au début, par un mot-clé que je ne comprends pas. Il y a plein de fonctions (avec d'assez bizarre arguments, d'ailleurs) déclarées avec le mot clé static.

Je connaissais vaguement ce mot-clé pour les variables dans un bloc, pour étendre leur porter à tout le code (c'est juste ?), mais à quoi sert-il pour une fonction ?

Je connaissais vaguement ce mot-clé pour les variables dans un bloc, pour étendre leur porter à tout le code (c'est juste ?), mais à quoi sert-il pour une fonction ?

Le mot clé static pour les variables dans une fonction sert à dire que la valeur de la variable est permanente. Revenir dans la fonction plus tard et la variable aura toujours la valeur lors du dernier passage.

Pour les fonctions ou variables hors fonctions, elle sert à limiter la portée de la fonction et de la variable uniquement au fichier courant. Cela permet d'éviter dans un code source conséquent de polluer l'espace de nom de tout le programme mais aussi d'éviter aux autres fichiers d'avoir accès à des fonctions auxquelles il ne faut pas.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte