Les classes de stockage sont des spécificateurs qui définissent la durée de vie, la visibilité et la portée des variables et des fonctions en C. Il existe quatre classes de stockage en C : automatique, statique, externe et registre.

    Classe de stockage automatique


    Les variables déclarées avec la classe de stockage automatique ont une durée de vie limitée à la portée de la fonction dans laquelle elles ont été déclarées. Elles sont créées lorsqu'une fonction est appelée et détruites lorsque la fonction se termine. Les variables automatiques sont déclarées sans spécificateur de classe de stockage et peuvent également être déclarées avec le mot clé auto.

Exemple :

void example_function() {
   int a = 1; // Variable automatique
   auto int b = 2; // Variable automatique
}

    Classe de stockage statique


    Les variables déclarées avec la classe de stockage statique ont une durée de vie qui s'étend sur toute la durée d'exécution du programme. Elles sont initialisées une seule fois avant que le programme ne commence à s'exécuter et sont détruites lorsque le programme se termine. Les variables statiques sont déclarées avec le mot clé static.

Exemple :

 

void example_function() {
   static int c = 0; // Variable statique
   c++;
   printf("%d\n", c);
}

Dans cet exemple, la variable c conserve sa valeur entre les appels de la fonction car elle est statique.

    Classe de stockage externe


    Les variables déclarées avec la classe de stockage externe ont une portée qui s'étend sur plusieurs fichiers source. Elles sont définies dans un fichier source et déclarées avec le mot clé extern dans les autres fichiers source où elles sont utilisées.

Exemple :

 

// file1.c
int a = 10; // Variable externe

// file2.c
extern int a; // Déclaration de la variable externe

Dans cet exemple, la variable a est définie dans le fichier source file1.c et déclarée dans le fichier source file2.c.

    Classe de stockage registre


    Les variables déclarées avec la classe de stockage registre sont stockées dans les registres de processeur au lieu de la mémoire principale pour une exécution plus rapide. Cependant, l'utilisation de cette classe de stockage n'est pas garantie car le compilateur peut décider de stocker la variable en mémoire principale si nécessaire. Les variables registre sont déclarées avec le mot clé register.

Exemple :

void example_function() {
   register int i; // Variable registre
   for(i = 0; i < 100; i++) {
      printf("%d\n", i);
   }
}

Dans cet exemple, la variable i est déclarée comme une variable registre pour une exécution plus rapide de la boucle for.

Conclusion

En résumé, les classes de stockage en C définissent la durée de vie, la visibilité et la portée des variables et des fonctions. Les variables automatiques ont une durée de vie limitée à la portée de la fonction, les variables statiques ont une durée de vie qui s'étend sur toute la durée d'exécution du programme, les variables externes ont une portée qui s'étend sur plusieurs fichiers.

Si vous avez trouvé ce Cours de Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam