Maison > Article > développement back-end > Quelle est la différence entre les variables statiques, automatiques, globales et locales en C et C ?
Comprendre les variables statiques, automatiques, globales et locales en C et C
Lorsque vous travaillez avec des variables en C et C, il est essentiel de saisir les nuances entre les variables statiques, automatiques, globales et locales. Cette distinction concerne à la fois leur accessibilité et leur durée de vie dans le programme.
Variables locales
Les variables locales, parfois appelées variables de « portée de bloc », habitent le bloc de code dans lequel ils sont déclarés. Ces variables n'existent qu'à l'entrée dans le bloc et cessent d'exister à sa sortie. Illustrant ce concept :
void f() { int i; // Local variable i = 1; // Accessible within f() }
Variables globales
Les variables globales possèdent une "portée de fichier" (en C) ou une "portée d'espace de noms" (en C). Elles sont accessibles depuis n'importe quel point du programme suite à leur déclaration, comme indiqué ici :
int i; // Global variable void f() { i = 1; // Accessible anywhere }
Variables automatiques
Variables automatiques, dites « durée de stockage automatique " variables, résident localement. Leur existence est limitée à la durée du bloc qu'ils habitent. A la sortie du bloc, ces variables sont détruites et réapparaissent lors de la rentrée dans le bloc.
for (int i = 0; i < 5; ++i) { int n = 0; // Automatic variable printf("%d ", ++n); // Value of n is reset to 0 each iteration }
Variables statiques
Variables statiques, d'autre part D'autre part, profitez de durées de vie prolongées au sein du programme (appelées « durée de stockage statique »). Même lorsque le contrôle sort de leur champ d'application, leurs valeurs perdurent.
for (int i = 0; i < 5; ++i) { static int n = 0; // Static variable printf("%d ", ++n); // Value of n persists across iterations }
En conclusion, comprendre les distinctions entre ces types de variables permet une programmation plus efficace et ciblée en C et C . Comprendre leur portée et leur durée de vie permet aux développeurs de choisir le type de variable approprié pour leurs besoins spécifiques.
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!