Variable globale

Un article de Wikipédia, l'encyclopédie libre.

En programmation informatique, une variable globale est une variable déclarée à l'extérieur du corps de toute fonction ou classe, et pouvant donc être utilisée n'importe où dans le programme.

Exemple en langage C :

int var1=1,var2=2; // variables globales var1 et var2

void function(int *, int *);

int main()
{
 function (var1,var2);
 int var3 = var1 + var2;
}

void function(int *a, int *b)
{
 if (var1+var2 == 3)
 {
  int tmp;  /* variable locale tmp */
  tmp = *a;
  *a = *b;
  *b = tmp;
 }
 else
 {
  var1 = 1;
  var2 = 2;
 }
}

Dans le cas présenté ci-dessus, var1 et var2 sont des variables globales, car elles ne sont pas déclarées dans le corps d'une fonction. Ainsi, elles seront utilisables dans la fonction main(), ainsi que dans la fonction function().

Au contraire, la variable tmp est locale et ne sera utilisable que dans la fonction function(int* ,int* ), et var3 dans la fonction main().

Une fois l'exécution de ces fonctions terminée, leurs variables locales n'existeront plus dans le programme. Si on appelle plus tard à nouveau la fonction, elles seront réallouées à une place disponible à ce moment-là, qui ne sera pas nécessairement la même.

[modifier] Langages sans variables globales

  • Les langages fonctionnels purs, comme Haskell, n'ont pas de variables du tout, donc pas de variables globales.
  • L'environnement de développement Gambas (clone GNU de Visual Basic), n'admet pas de variables globales, mais une variable quelconque déclarée PUBLIC y devient accessible depuis tout le projet.

[modifier] Voir aussi