Maison > développement back-end > C++ > Expliquer le cycle de vie des variables en langage C

Expliquer le cycle de vie des variables en langage C

WBOY
Libérer: 2023-09-02 19:37:07
avant
1637 Les gens l'ont consulté

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 -

  • Où sont stockées les variables (dans la mémoire ou dans les registres du CPU) ?
  • S'il n'y a pas d'initialisation, quelle est la valeur initiale de la variable ?
  • Quelle est la portée d'une variable (la portée dans laquelle la variable est accessible) ?
  • Quel est le cycle de vie d'une variable ?

Durée de vie

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.

  • Automatique - Créez des variables avec un cycle de vie automatique. À chaque fois, leur manifeste a été rencontré et détruit. De plus, leurs blocs sortiront également.
  • static - Une variable est créée la première fois que la déclaration est exécutée. Il est détruit lorsque l'exécution s'arrête/se termine.
  • Dynamique - La mémoire variable est allouée et libérée via des fonctions de gestion de la mémoire.

Classes de stockage

Il existe quatre classes de stockage en langage C -

Automatique Mémoirejusqu'à ce que le contrôle reste dans le blocjusqu'à ce que le contrôle reste dans le bloclocalautomatiqueRegistresCPU enregistregarbage valuelocal Inscription mémoireExterne ExempleCe qui suit est le programme C pour la classe de stockage automatique- Démo en directSortieLorsque le programme ci-dessus est exécuté, la sortie suivante est produite-
3 2 1
Copier après la connexion
Exemple
Classes de stockage Zone de stockage Valeur initiale par défaut Cycle de vie Portée Mots clés
jusqu'à ce que le contrôle reste dans le bloc
statique zéro valeur entre les appels de fonction valeur poubelle exécution du programme entier Global
#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);
}
Copier après la connexion

Ce qui suit est le C programme pour la classe de stockage externe Programme -

Démonstration en direct

#include<stdio.h>
extern int i =1; /* this &lsquo;i&rsquo; is available throughout program */
main ( ){
   int i = 3; /* this &lsquo;i&#39; available only in main */
   printf ("%d", i);
   fun ( );
}
fun ( ) {
   printf ("%d", i);
}
Copier après la connexion

Sortie

Lors de l'exécution du programme ci-dessus, la sortie suivante sera produite -

3 1
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal