[C] Variable globale non reconnue dans mes...
Hell_666
Messages postés
44
Statut
Membre
-
Hell_666 Messages postés 44 Statut Membre -
Hell_666 Messages postés 44 Statut Membre -
Bonjour, je déclare une variable en dehors de toute fonction, elle est donc censé être globale et pouvoir être modifiée dans tous mes fichiers .c de mon projet, or dès que je l'utilise dans un fichier .c différent le compilateur me dit qu'elle n'est pas déclarée ...
Pouvez-vous m'aider s'il vous plait ?
Merci beaucoup.
Pouvez-vous m'aider s'il vous plait ?
Merci beaucoup.
2 réponses
-
Bonjour,
Les variables globales sont à éviter autant que possible.
Si néanmoins tu souhaites l'utiliser la meilleure façon est de déclarer ta variable dans un fichier source. Ensuite dans le header associé, tu déclares ta variable en extern. Ainsi t'auras plus qu'à inclure le header dans tous les fichiers source où tu souhaites utiliser la variable globale.
Google is your friend -
Salut,
Je pense que ton code ressemble à ça :
#include <stdio.h> #include <stdlib.h> #include "fihcier1.c" #include "fichier2.c" int a;
Mais regarde : ta variable est déclarée APRES l'inclusion des fichiers C.
Ainsi, lors de leur compilation, la variable n'a pas encore été déclarée.
Comme solution, inclus les bibliothèques de bases qui définissent le type 'int', puis déclare ta variable, enfin inclut tes fichiers C.
Exemple :
#include <stdio.h> #include <stdlib.h> int a; #include "fihcier1.c" #include "fichier2.c"
Et après tu écrit le reste du code ( int main() );
Voilà ;)
Ca fonctionne maintenant ?