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 :

question sur les variables globales


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 question sur les variables globales
    bonjour a tous

    je sais que l'utilisation de variables globales est deconseiller mais dans mon cas elles sont primordiales

    ma question est la suivante:

    comment declarer des variables globales de type pointeur et des tableaux

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    salut, tu dois déclarer tes variables globales avec le mot clé extern

    dans ton .h

    et dans ton .c

  3. #3
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut
    Beurk. Des accesseurs et modificateurs c'est quand même déjà un peu mieux avec des variables globales au niveau de l'unité de compilation seulement.

  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
    merci de ta reponse

    mais ma question porter sur les pointeur

    est ce qu'on fait pareille

    c'est a dire:

    extern char *tab;
    dans le .h

    char *tab;
    dans le .c

  5. #5
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut
    Tout à fait, on fait pareil ... Même si c'est pas génial du tout ...

    Tu peux initialiser ta variable dans le .c :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char* ma_variable = NULL;

  6. #6
    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
    oki merci

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Citation Envoyé par Marco85
    Tout à fait, on fait pareil ... Même si c'est pas génial du tout ...
    pourquoi n'est-ce pas une bonne méthode ?

    http://c.developpez.com/faq/c/?page=...TYPES_globales
    http://c.developpez.com/faq/c/?page=..._globales_conf

  8. #8
    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 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Disons qu'il est des cas où on ne peut, à moins de contortions trop fortes, se passer de variables globales DANS UN FICHIER (mais cependant leur nombre doit être le plus restreint possbile).

    Par contre, on peut quasi-toujours se passer de variables globales ENTRE fichiers... Par des accesseurs/modificateurs.

    Les 2 seules utilisations que je connaisse/admette de ce type sont pour du debug temporaire et pour l'accès à des choses que je ne souhaite pas documenter (donc non déclarées dans un .h).

    C'es évidemment possible (ce qui est montré avec tes liens), mais tant que faire se peut à éviter... (cela rend la lecture et la maintenance nettement plus compliquées).

  9. #9
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut
    C'est exactement ce que je voulais dire.

    Merci d'avoir expliqué ce que je sous-entendais souviron34.

Discussions similaires

  1. Question sur les variables globales
    Par hortencia dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/02/2012, 13h13
  2. Réponses: 2
    Dernier message: 24/10/2006, 22h12
  3. Question sur les variables passées par URL
    Par cotlod dans le forum Langage
    Réponses: 7
    Dernier message: 11/10/2006, 00h04
  4. [TP] Question sur les variables
    Par argon dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 16/02/2006, 07h27
  5. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59

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