Maison > Article > développement back-end > Expliquer le cycle de vie des variables en langage C
Les classes de stockage spécifient la portée, le cycle de vie et la liaison des variables.
Pour définir complètement une variable, il faut mentionner non seulement son "type" mais aussi sa classe de stockage.
Un nom de variable identifie un emplacement physique dans la mémoire de l'ordinateur où un ensemble de bits est alloué pour stocker la valeur de la variable.
La classe de stockage nous indique les facteurs suivants -
La durée de vie d'une variable définit la durée pour laquelle l'ordinateur lui alloue de la mémoire (la durée entre l'allocation et la désallocation de mémoire).
En langage C, les variables peuvent avoir un cycle de vie automatique, statique ou dynamique.
Il existe quatre classes de stockage en langage C -
Classes de stockage | Zone de stockage | Valeur initiale par défaut | Cycle de vie | Portée | Mots clés |
---|---|---|---|---|---|
Mémoire | jusqu'à ce que le contrôle reste dans le bloc | jusqu'à ce que le contrôle reste dans le bloc | local | automatique | |
CPU enregistre | garbage value | jusqu'à ce que le contrôle reste dans le bloc | local | Inscription | |
statique | zéro | valeur entre les appels de fonction | valeur poubelle | exécution du programme entier | Global |
Exemple | Ce qui suit est le programme C pour la classe de stockage automatique- | Démo en direct | #include<stdio.h> main ( ){ auto int i=1;{ auto int i=2;{ auto int i=3; printf ("%d",i) } printf("%d", i); } printf("%d", i); } | SortieLorsque le programme ci-dessus est exécuté, la sortie suivante est produite- tr> |
Démonstration en direct
#include<stdio.h> extern int i =1; /* this ‘i’ is available throughout program */ main ( ){ int i = 3; /* this ‘i' available only in main */ printf ("%d", i); fun ( ); } fun ( ) { printf ("%d", i); }
Sortie
3 1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!