Comprendre la portée des variables en C++ : Variables locales vs globales
Une portée est une région du programme et, en gros, il y a trois endroits où les variables peuvent être déclarées :
À l'intérieur d'une fonction ou d'un bloc, ce qui est appelé variables locales,
Dans la définition des paramètres de fonction, ce qui est appelé paramètres formels.
En dehors de toutes les fonctions, ce qui est appelé variables globales.
Nous apprendrons ce qu'est une fonction et ses paramètres dans les chapitres suivants. Ici, expliquons ce que sont les variables locales et globales.
Variables locales
Les variables déclarées à l'intérieur d'une fonction ou d'un bloc sont des variables locales. Elles ne peuvent être utilisées que par les instructions qui se trouvent à l'intérieur de cette fonction ou de ce bloc de code. Les variables locales ne sont pas connues des fonctions en dehors de la leur. Voici un exemple utilisant des variables locales :
#include <iostream>
using namespace std;
int main() {
// Déclaration de variables locales :
int a, b;
int c;
// initialisation réelle
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
Variables globales
Les variables globales sont définies en dehors de toutes les fonctions, généralement en haut du programme. Les variables globales conservent leur valeur tout au long de la durée de vie de votre programme.
Une variable globale peut être accédée par n'importe quelle fonction. C'est-à-dire qu'une variable globale est disponible pour une utilisation dans l'ensemble de votre programme après sa déclaration. Voici un exemple utilisant des variables globales et locales :
#include <iostream>
using namespace std;
// Déclaration de variable globale :
int g;
int main() {
// Déclaration de variables locales :
int a, b;
// initialisation réelle
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
Un programme peut avoir le même nom pour des variables locales et globales, mais la valeur de la variable locale à l'intérieur d'une fonction aura la priorité. Par exemple :
#include <iostream>
using namespace std;
// Déclaration de variable globale :
int g = 20;
int main() {
// Déclaration de variable locale :
int g = 10;
cout << g;
return 0;
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :
10
Initialisation des variables locales et globales
Lorsqu'une variable locale est définie, elle n'est pas initialisée par le système ; vous devez l'initialiser vous-même. Les variables globales sont initialisées automatiquement par le système lorsque vous les définissez comme suit :
| Type de données | Initialiseur |
|---|---|
| int | 0 |
| char | '\0' |
| float | 0 |
| double | 0 |
| pointeur | NULL |
C'est une bonne pratique de programmation d'initialiser correctement les variables, sinon le programme pourrait produire des résultats inattendus.
Langue C
- Maîtriser les variables C# et types de données primitifs : guide complet
- Comprendre la portée des variables en C# : Niveaux classe, méthode et bloc
- Maîtriser les variables, littéraux et constantes en C++ : Guide complet
- Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
- Commentaires C++ : Bonnes pratiques pour un code lisible et maintenable
- Variables, constantes et littéraux en C : Guide complet
- Comprendre les classes de stockage en C : Portée, durée de vie et performance
- Comprendre les variables globales, locales et non locales en Python
- Variables et types de données en C++ : Guide expert sur int, double, char, string, bool