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 :

Variable globale : quel accès dans les fichiers inclus ?


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 20
    Points
    20
    Par défaut Variable globale : quel accès dans les fichiers inclus ?
    Bonjour,
    Une question me tarode sur les variables globales.
    Je l'exprime via un exemple :

    fct.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int var;
    fct1(int param)
    {
    if(param == 0}
    var = 0;
    else
    printf("var = %i\n",var); // ligne 7
    }
    card.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /* include fct.h*/
    main
    {
    int param = 0;
    fct1(param);
    /* ... */
    param = 1;
    fct1(param);
    }
    Question à la ligne 7, que vaut var au second appel de fct ?

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Question à la ligne 7, que vaut var au second appel de fct ?
    La valeur qu'il avait avant le deuxième appel (0 dans l'exemple) , puisque comme param est différent de 0, var n'est pas modifié dans la fonction.

    En fait, dans ce programme var est toujours à 0 :
    - La variable globale var est initialisée par défaut à 0
    - Le premier appel à la fonction met var à 0 (donc ne change rien)
    - Le deuxième appel ne change pas var.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    merci diogene.
    C'est exact. Mon problème ne venait pas des variables globales mais d'autre chose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Les variables globales et locales dans les fonctions
    Par zakimadrid dans le forum MATLAB
    Réponses: 8
    Dernier message: 28/04/2015, 01h34
  2. Accès aux variables dans les fichiers de route
    Par loudo dans le forum NodeJS
    Réponses: 6
    Dernier message: 08/03/2015, 18h45
  3. Réponses: 2
    Dernier message: 02/10/2013, 21h57
  4. Réponses: 4
    Dernier message: 09/10/2009, 09h46
  5. Sauver les variables d'un JS dans un fichier
    Par johnny repp dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/09/2008, 09h12

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