Portée des variables C++


La portée est une zone du programme. De manière générale, il existe trois endroits où les variables peuvent être déclarées :

  • Variables déclarées à l'intérieur d'une fonction ou. un bloc de code, appelé variables locales.

  • Les variables déclarées dans la définition des paramètres de fonction sont appelées paramètres formels.

  • Les variables déclarées en dehors de toutes les fonctions sont appelées variables globales.

Nous apprendrons quelles sont les fonctions et les paramètres dans les chapitres suivants. Dans ce chapitre, nous expliquons d'abord la déclaration des variables locales et des variables globales.

Variables locales

Les variables déclarées à l'intérieur d'une fonction ou d'un bloc de code sont appelées variables locales. Ils ne peuvent être utilisés que par des instructions contenues dans des fonctions ou des blocs de code. L'exemple suivant utilise des variables locales :

#include <iostream>
using namespace std;
 
int main ()
{
  // 局部变量声明
  int a, b;
  int c;
 
  // 实际初始化
  a = 10;
  b = 20;
  c = a + b;
 
  cout << c;
 
  return 0;
}

Variables globales

Les variables définies en dehors de toutes les fonctions (généralement en tête du programme) sont appelées variables globales. La valeur des variables globales est valable tout au long du cycle de vie du programme.

Les variables globales sont accessibles par n'importe quelle fonction. En d’autres termes, une fois qu’une variable globale est déclarée, elle est disponible dans tout le programme. L'exemple suivant utilise des variables globales et des variables locales :

#include <iostream>
using namespace std;
 
// 全局变量声明
int g;
 
int main ()
{
  // 局部变量声明
  int a, b;
 
  // 实际初始化
  a = 10;
  b = 20;
  g = a + b;
 
  cout << g;
 
  return 0;
}

Dans un programme, les noms des variables locales et des variables globales peuvent être identiques, mais au sein d'une fonction, la valeur de la variable locale remplacera la valeur de la variable globale. Voici un exemple :

#include <iostream>
using namespace std;
 
// 全局变量声明
int g = 20;
 
int main ()
{
  // 局部变量声明
  int g = 10;
 
  cout << g;
 
  return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produira les résultats suivants :

10

Initialiser les variables locales et les variables globales

Lorsque les variables locales Une fois défini, le système ne l'initialisera pas, vous devez l'initialiser vous-même. Lors de la définition des variables globales, le système les initialisera automatiquement aux valeurs suivantes :

数据类型初始化默认值
int0
char''
float0
double0
pointerNULL

C'est une bonne habitude de programmation d'initialiser correctement les variables, sinon le programme peut parfois produire des résultats inattendus.