Previous Next Up Index Contents

10.2.2. Variables globales

Les variables déclarées au début du fichier, à l'extérieur de toutes les fonctions sont disponibles à toutes les fonctions du programme. Ce sont alors des variables globales. En général, les variables globales sont déclarées immédiatement derrière les instructions #include au début du programme.

Attention !

Les variables déclarées au début de la fonction principale main

ne sont pas des variables globales, mais elles sont locales à main !

Exemple

La variable STATUS est déclarée globalement pour pouvoir être utilisée dans les procédures A et B.

#include <stdio.h>
int STATUS;

void A(...)
{
 ...
 if (STATUS>0) 
      STATUS--;
 else
      ...
 ...
}

void B(...)
{
 ...
 STATUS++;
 ...
}

Conseils

* Les variables globales sont à utiliser avec précaution, puisqu'elles créent des liens invisibles entre les fonctions. La modularité d'un programme peut en souffrir et le programmeur risque de perdre la vue d'ensemble.
Conseil * Il faut faire attention à ne pas cacher involontairement des variables globales par des variables locales du même nom.
* Le codex de la programmation défensive nous conseille d'écrire nos programmes aussi 'localement' que possible.

L'utilisation de variables globales devient inévitable, si

* plusieurs fonctions qui ne s'appellent pas ont besoin des mêmes variables, ou
* plusieurs fonctions d'un programme ont besoin du même ensemble de variables. Ce serait alors trop encombrant de passer toutes les variables comme paramètres d'une fonction à l'autre.


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber