Maison > développement back-end > C++ > Quelle est la différence entre les variables statiques, automatiques, globales et locales en C et C ?

Quelle est la différence entre les variables statiques, automatiques, globales et locales en C et C ?

DDD
Libérer: 2024-11-02 17:34:02
original
1013 Les gens l'ont consulté

What's the Difference Between Static, Auto, Global, and Local Variables in C and 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()
}
Copier après la connexion

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
}
Copier après la connexion

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
}
Copier après la connexion

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
}
Copier après la connexion

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!

source:php.cn
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