Cours de stockage en C

Cours de stockage en C
Les cours de stockage sont un sujet très important en C. Si nous avons développé notre concept en C, en particulier sur la vie et la portée de toute variable, nous devons connaître les cours de stockage en C. Dans une architecture basée sur DOS ou une architecture 16 bits comme Turbo C ++ 3. 0, il prend le souvenir de 2 octets. Mais dans une architecture 32 bits ou 64 bits comme Dev C ++, les blocs de code et les entiers prennent la mémoire de 4 octets.

Trois propriétés des variables

  1. Nom de la variable.
  2. Taille du bloc de mémoire.
  3. Type de contenu.

Autres propriétés de variable

Valeur par défaut, portée, vie, stockage.

Valeur par défaut: Si nous n'initialisons aucune valeur à une variable au moment de la déclaration variable, alors quelle est la valeur de la variable x? Alors la valeur de x est appelée valeur par défaut, qui est une autre caractéristique de la variable.

Stockage: Le stockage signifie où la mémoire est allouée pour une variable, soit RAM ou dans le registre du CPU.

Portée: Les limitations ou les zones où nous pouvons accéder à une variable

Vie: La portée entre la création et la destruction d'une variable s'appelle la vie. Ces 4 propriétés que nous pouvons réaliser au moment de déclarer une variable.

Il existe 4 types de classes de stockage dans l'énoncé de déclaration.

  1. Automatique
  2. Enregistrer
  3. Statique
  4. Externe
Classe de stockage Mot-clé Valeur par défaut Stockage Portée Vie
1. Automatique auto Ordures RAM Limité aux blocs où il est déclaré Jusqu'à l'exécution du bloc dans lequel il est déclaré
2. Enregistrer enregistrer Ordures enregistrer même même
3. Statique statique 0 (zéro) RAM Même Jusqu'à la fin du programme
4. Externe externe 0 (zéro) RAM Mondial même

Programme de classe de stockage automatique

Exemple de programmation1

#inclure
int main()

// Variable automatique par défaut;
int x = 5;
printf ("% d \ n", x);

int x = 2;
printf ("% d \ n", x);

printf ("% d \ n", x);
retour 0;

Sortir

Explication

Avec le symbole de flèche, nous pouvons écrire un mot-clé automatique pour rendre la variable automatique. Si nous n'y écrivons rien, la variable est un type automatique (par défaut). La règle est de donner une priorité plus élevée à la variable locale si le nom de deux variables à l'intérieur de la fonction est le même.

Programme de classe de stockage d'enregistrement

Exemple de programmation 2

#inclure
int main()

// Le mot clé d'enregistrement est utilisé;
enregistrer int x = 4;
int y;
y = x ++;
X--;
y = x + 5;
printf ("% d% d", x, y);
retour 0;

Sortir

Explication

Si dans un programme, certaines variables sont utilisées à plusieurs reprises, dans ce cas, nous stockons la variable X à l'intérieur d'un registre CPU au lieu de RAM. Il réduit la durée de traitement de notre programme, mais il ne s'applique qu'à la petite mémoire INT et CHAR Black. Si le registre n'est pas disponible, il convertit automatiquement la classe de stockage du registre en une classe automobile.

Programme de classe de stockage statique

Exemple de programmation 3

#inclure
vide f1 ();
int main()

F1 ();
F1 ();
retour 0;

vide f1 ()

int i = 0;
i ++;
printf ("i =% d \ n", i);

Sortir

Explication

Ici, nous obtenons le résultat deux 1 parce que nous déclarons la variable par défaut automatique.

Exemple de programmation 4

#inclure
vide f1 ();
int main()

F1 ();
F1 ();
retour 0;

vide f1 ()

// La variable statique est déclarée;
statique int i = 0;
i ++;
printf ("i =% d \ n", i);

Sortir

Explication

Comme c'est une variable statique, cette variable n'est pas détruite du corps de F1. Ainsi, lorsque F1 () est appelé 2ème fois, la sortie sera 2.

Classe de stockage externe

Exemple de programmation 5

#inclure
int x;
int main()

// externe est déclaré;
extern int x;
printf ("x =% d", x);
vide f1 (vide);
F1 ();
printf ("x =% d", x);
retour 0;

vide f1 ()

x ++;
printf ("x =% d", x);

Sortir

Explication

Comme il s'agit d'une variable globale, la variable est accessible de n'importe où dans le programme, et sa vie est tout au long du programme.1st printf () Fonction Imprimez la valeur de x = 0, car sa valeur par défaut = 0, alors f1 () appelle, puis x est incrémenté à 1 et imprime la valeur 1. Ensuite, le contrôle revient à la fonction principale () après f1 () et imprime à nouveau la valeur de x 1.

Exemple de programmation 6

#inclure
int x;
vide f1 ();
int main()

extern int x;
printf ("x =% d \ n", x);
F1 ();
printf ("x =% d \ n", x);
retour 0;

vide f1 ()

int x = 5;
x ++;
printf ("x =% d \ n", x);

Sortir

Explication

Comme la variable x dans la fonction f1 () est une variable automatique, elle est accessible uniquement dans le F1 ().Donc, ici printf () fonction imprime la valeur de x = 5 mais dans la fonction main (), x a est traité comme une variable externe, car x est déclaré global. Donc, il imprime la valeur de x = 0.

Où déclarons-nous le mot-clé externe?

Une variable externe est déclarée en dehors de toute fonction. Mais il est indiqué que la variable est externe à l'intérieur de la fonction principale comme indiqué dans cet exemple, ou il est désigné n'importe où dans le programme.

Conclusion

À partir du concept susmentionné des classes de stockage de langage C, il est clair pour le lecteur que chaque fois que nous gérons les données via un logiciel, nous avons besoin d'un espace variable ou de stockage pour stocker les données. Nous avons maintenant une idée claire de cet article sur la façon dont les données doivent être stockées dans une variable.