IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

probleme variable global


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 102
    Points : 42
    Points
    42
    Par défaut probleme variable global
    bonjour a tous

    j'ai utiliser un cours pour pouvoir cree des variables globales
    j'ai alors suivit tte les instruction a savoir cree un fichier data.h data.c pour la declaration

    mais j'ai un probleme lorsque j'utilise dans un programme mes variables globales il me dit qu'elle ne sont pas definit

    quelqu'un aurait il une idee a mon prob

  2. #2
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    montre ton code ....
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  3. #3
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 295
    Points
    295
    Par défaut
    dans ton prog , est-ce que tu as bien inclu data.h et declaré ta variable globale avec le mot cle "extern" ?
    il parait que la plume est plus forte que l'épée, heureusement j'ai une hache

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    definition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /* data.c */
     
    #include "data.h"
     
    int G_x;
     
    /* la taille du tableau est definie
     * dans la declaration.
     */
    double G_a[];
     
    data_s G_data;
    declaration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #ifndef H_DATA
    #define H_DATA
     
    /* data.h */
     
    typedef struct
    {
       int a;
       char b[123];
    }
    data_s;
     
    extern int G_x;
     
    /* la defintion de la taille du tableau est unique. Elle est faite ici. */
    extern double G_a[12];
     
    extern data_s G_data;
     
    #endif /* guard */
    Utilisation



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /* appli.c */
     
    #include "data.h"
     
    int main (void)
    {
       G_x = 123;
     
       G_data.a = 456;
     
       G_a[3] = 123.456;
     
       return 0;
    }

  5. #5
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par acik59
    definition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /* la taille du tableau est definie
     * dans la declaration.
     */
    Il faut mettre ici aussi la taille de ton vecteur, sinon, lorsque tu compileras ce bout de code, ton tableau ne sera pas déclaré avec un type complet. Un fichier .h, ce n'est rien de magique : juste un bout de programme copié tel quel.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  6. #6
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 295
    Points
    295
    Par défaut
    c'est bien ca, dans ton appli.c rajoute la declaration de tes variables globale de la meme maniere que dans data.h (avec extern)
    il parait que la plume est plus forte que l'épée, heureusement j'ai une hache

  7. #7
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Est-ce que data.c est bien "linké" avec ton appli ?
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  8. #8
    Membre éclairé Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par straasha
    c'est bien ca, dans ton appli.c rajoute la declaration de tes variables globale de la meme maniere que dans data.h (avec extern)
    Pourquoi faire ? Il a déjà inclu data.h dans appli.c.....
    Software Failure. Press left mouse button to continue.
    Guru Meditation #0100000C.000FE800

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par crocodilex
    Est-ce que data.c est bien "linké" avec ton appli ?

    oui à mon avis la cause...

    Montre-voir ton makefile ou ta ligne de compil/link..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Membre actif Avatar de straasha
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2004
    Messages : 149
    Points : 295
    Points
    295
    Par défaut
    oui je me suis un peu melange sur ce coup

    comme dit plus haut ca doit etre un probleme de link (mais a t-il deja compile data.c ?)
    il parait que la plume est plus forte que l'épée, heureusement j'ai une hache

Discussions similaires

  1. probleme variable global
    Par bubu92 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/01/2010, 08h49
  2. probleme, variable globale
    Par manam dans le forum Forms
    Réponses: 3
    Dernier message: 28/07/2009, 18h20
  3. Probleme variables global
    Par stuffy dans le forum Général Python
    Réponses: 7
    Dernier message: 17/06/2008, 10h11
  4. Probleme : Variables globales pas accessible
    Par ickylevel dans le forum Général Python
    Réponses: 7
    Dernier message: 09/08/2007, 21h26
  5. Probleme de variable globale?
    Par issam16 dans le forum Access
    Réponses: 7
    Dernier message: 01/07/2006, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo