[C] Variable globale non reconnue dans mes...
Fermé
Hell_666
Messages postés
44
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
19 mars 2010
-
19 mars 2010 à 20:07
Hell_666 Messages postés 44 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 19 mars 2010 - 19 mars 2010 à 23:38
Hell_666 Messages postés 44 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 19 mars 2010 - 19 mars 2010 à 23:38
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
- Adaptateur usb-c jack samsung non reconnu - Forum Samsung
- Carte sim reconnue mais aucun service - Forum Mobile
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
Modifié par fiddy le 19/03/2010 à 23:34
Modifié par fiddy le 19/03/2010 à 23:34
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 ?
Hell_666
Messages postés
44
Date d'inscription
jeudi 29 octobre 2009
Statut
Membre
Dernière intervention
19 mars 2010
19 mars 2010 à 23:06
19 mars 2010 à 23:06
Déjà j'inclus des headers et non des fichiers.c, les fichiers .c sont regroupés à la compilation, j'ai quand même essayer de mettre avant les headers mais bien évidement ca ne marche pas, mais ma variable est dans un fichier à inclure déjà donc ...
Je vois pas d'où ca vient c'est censé marché :s
Je vois pas d'où ca vient c'est censé marché :s
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
19 mars 2010 à 23:23
19 mars 2010 à 23:23
Non, on n'inclut pas les fichiers sources. C'est une très mauvaise habitude...
Modifié par Hell_666 le 19/03/2010 à 23:37
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
Modifié par fiddy le 19/03/2010 à 23:37
Si tu veux un exemple plus précis, n'hésite pas à demander.
19 mars 2010 à 23:38
Merci.