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 !
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.
* 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.