il y a 2 types de variable :
- locale
- globale
de preference et le plus souvent possible, il faut utiliser les variable locale (elles ne se logent pas dans la meme partie memoire que les locales et peuvent etre detruite par l'OS ....)
maintenant la syntaxe extern ne s'applique qu'aux variable globales
imaginons que tu es 2 fichiers *.cpp qui font references à la meme variable globale
tu declares ta variable globale dans les 2 fichiers *.cpp
mais si tu fais ca, tu vas creer 2 fois une zone memoire pour la meme variable lors de la compilation
alors tu mets une des 2 declarations de ta variable avec la syntaxe extern devant, comme ca le compilo, quand il trouve l'instruction extern, ne reserve pas de memoire pour la variable globale.
ex :
fichier01.cpp
#include "header.h"
int VARIABLE;
fichier02.cpp
#include "header.h"
extern int VARIABLE;
fichier03.cpp
#include "header.h"
extern int VARIABLE;
etc...