Language C/déclaration des variables

Résolu/Fermé
Amal OA Messages postés 9 Date d'inscription lundi 24 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011 - 14 nov. 2011 à 16:08
Amal OA Messages postés 9 Date d'inscription lundi 24 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011 - 15 nov. 2011 à 06:26
Bonjour,



Je suis encore débutante en C, je ne sais pas quelle est la difference entre variable externe et variable interne , pouvez vous me donner des exemples et merci d'avance .

1 réponse

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
14 nov. 2011 à 16:10
bonjour,

tu parles du mot-clé "extern" ?
0
Amal OA Messages postés 9 Date d'inscription lundi 24 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011
14 nov. 2011 à 16:48
c'set quoi "extern"?
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
Modifié par Pacorabanix le 15/11/2011 à 01:02
c'est pour savoir si tu parlais de ça . apparemment non :)
en C, on a des "blocs" délimités par des accolades.

par exemple une boucle :

while(condition) { 
   instruction1; 
   instruction2; 
   .... 
}


une clause if

if(condition) { 
   instruction; 
   ... 
}


des fonctions

int main() { 

   instructions; 
   ... 
} 

void maFonction() { 
   instruction; 
   ... 
}



si tu déclares une variable dans un bloc, elle n'est "visible" que pour les instructions dans le bloc, et dans les blocs inclus dedans :
int a; // une variable globale, visible partout 

int main() { 
   int b; // une variable visible seulement dans la focntion main() 
   a=2; // autorisé, a est visible ici
   if (a==2) { 
      int c; // c visible dans le bloc if 
      c=4; // autorisé, c est visible  ici
      a=3; // autorisé, a est visible ici
      b=2; // autorisé, b est visible 
   } 
   a=3; // autorisé 
   b=3; // autorisé 
   c=1; // INTERDIT ! Erreur de compilation, c est invisible ici. 
} 

void maFonction() { 
   a=3; // autorisé 
   b=2; // INTERDIT ! b es tinvisble ici 
} 




ça répond à ta question ?
0
Amal OA Messages postés 9 Date d'inscription lundi 24 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011
15 nov. 2011 à 06:26
oui, j'ai bien compris merci :)
0