IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 :

static int f(void)
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')

static int x;
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).

warning A éviter, surtout pour du code réutilisable (bibliothèque).
 

Valid XHTML 1.1!Valid CSS!

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.