[C] Variable globale non reconnue dans mes...
Hell_666
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
Hell_666 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Hell_666 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
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.
A voir également:
- [C] Variable globale non reconnue dans mes...
- Cle usb non reconnue - Guide
- Logiciel réparation clé usb non reconnue gratuit - Télécharger - Récupération de données
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Carte sim reconnue mais aucun service free - Forum Sony
- Carte SIM reconnue mais aucun service ✓ - Forum Nokia
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
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 :
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 :
Et après tu écrit le reste du code ( int main() );
Voilà ;)
Ca fonctionne maintenant ?
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 ?
EDIT : C'est bon ça marche, je n'avais pas redéclaré ma variable avec extern mais directement mis extern à sa 1er déclaration .... Merci
Si tu veux un exemple plus précis, n'hésite pas à demander.
Merci.