Notes sur le langage C
Date de publication : 29 avril 2009
VIII. Se procurer la norme du langage C (C99)
IX. C'est quoi ce 'static' ?
VIII. Se procurer la norme du langage C (C99)
La norme du C est définie par l'ISO. On trouve l'original sur le site de l'ISO, mais elle est très chère.
Elle est aussi reprise par l' ANSI à l'identique, pour la somme raisonnable de 20 USD.
Il y a aussi le site de
Dinkumware qui fournit un
excellent résumé des fonctions (C99).
Il est possible de télécharger gratuitement le dernier draft de la norme (N1124) ici : (
C99).
Ce document est complet et intègre C99, TC1 et TC2 (Technical Corrigendum 1 et 2). C'est probablement
le dernier draft du document définitif de l'ultime norme du C qui ne devrait plus évoluer, le comité
étant en sommeil.
IX. C'est quoi ce 'static' ?
static est un qualificateur qui a plusieurs significations selon le contexte.
-
Devant une déclaration de fonction :
Limite la portée de la fonction à l'unité de compilation courante.
-
Devant une variable définie hors de tout bloc (dite 'de portée globale')
Limite la portée de la variable à l'unité de compilation courante.
-
Devant une variable définie dans une bloc (dite 'de portée locale')
int counter (void )
{
static int x;
x+ + ;
return x;
}
|
Place la variable dans la mémoire statique, la rendant persistante. Usage rarissime (quick'n dirty).
|
A éviter, surtout pour du code réutilisable (bibliothèque).
|
Copyright © 2009 Emmanuel Delahaye.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.