Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Variables globales en C
Maitre yoda Hors ligne Membre Points: 30 Défis: 31 Message

Variables globales en C

Posté le 24/09/2014 14:16

Bonjour à tous,
je commence le C pour casio, et je me demandais : peut-on faire des variables qui marchent pour tout les fichiers d'un projet ? (j'ai réussi à ne pas trop faire bugguer le sdk, je suis déjà content ).
Merci par avance pour vos réponses.


Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 24/09/2014 14:18 | #


Oui, les variables globales sont accessibles depuis tous les fichiers d'un projet.
Il suffit de les déclarer en global dans un fichier :
[b]Fichier 1[/b]
int variable;
int variable2;

int main()
{
  ...
}

Et de les inclure en global ou en local dans les autres fichiers avec extern :
[b]Fichier 2[/b]
extern int variable;

void f(void)
{
  extern int variable2;
}

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 24/09/2014 14:19 | #


Mais bien sûr, même que ça s'appelle des variables.........................Globales

http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/la-programmation-modulaire Ctrl+F et tu cherches "variables globales"

Edit : On évite le RTFM en réponse aux questions...
Maitre yoda Hors ligne Membre Points: 30 Défis: 31 Message

Citer : Posté le 24/09/2014 14:22 | #


Ok merci, je vais faire ça, et c'est impressionnant la vitesse de la réponse !
Personne par la guerre ne devient grand.
Et c'est ainsi que s'éteint la liberté, sous une pluie d'applaudissements.
Exécutez l'ordre 66.
Que la force soit avec toi.
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 24/09/2014 14:24 | #


C'est parce qu'on a un chat (on y a accès dès 50 points) dans lequel on voit tous les topics créés et les messages postés.

Au fait, attention à ne pas abuser des variables globales, ça sature la mémoire et rend le code illisible en plus de le dés-optimiser si tu en abuses.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Maitre yoda Hors ligne Membre Points: 30 Défis: 31 Message

Citer : Posté le 24/09/2014 14:27 | #


Ah ok, il faut que j'ai 50 points alors !
Et d'accord, mais c'est juste pour éviter de saturer les fonctions d'envois et de retours qui seraient embêtant à force. Et fait, deux me suffiront.
Personne par la guerre ne devient grand.
Et c'est ainsi que s'éteint la liberté, sous une pluie d'applaudissements.
Exécutez l'ordre 66.
Que la force soit avec toi.
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 24/09/2014 14:28 | #


C'est une communauté active, y'aura toujours quelqu'un pour te répondre à un moment de la journée

Sinon je viens d'apprendre une chose qui me sera bien utile
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/09/2014 14:31 | #


Heuresement que DS n'est pas la, parce que les variables globales c'est bien mais jusqu'a un certain point
Essaie plutot de passer par des pointeurs

Bienvenue, faut que je change mon avatar ducoup
Maitre yoda Hors ligne Membre Points: 30 Défis: 31 Message

Citer : Posté le 24/09/2014 14:32 | #


Eltoredo, j'aime bien ta signature, tu es aussi un Maître Jedi ?

Theprog, tu peux garder ton avatar, plus on est de Yoda plus on rit !
Personne par la guerre ne devient grand.
Et c'est ainsi que s'éteint la liberté, sous une pluie d'applaudissements.
Exécutez l'ordre 66.
Que la force soit avec toi.
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 24/09/2014 14:34 | #


Maitre yoda a écrit :
Eltoredo, j'aime bien ta signature, tu es aussi un Maître Jedi ?

Non, même s'il aime à le croire.
(En fait il rage parce que Dark Storm le kicke trop souvent... )

[/HS]

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 24/09/2014 15:12 | #


Bienvenue sur PC Maître Yoda ! J'espère que tu t'y plairas !
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 24/09/2014 19:42 | #


Essaye quand même d'éviter d'utiliser trop de variables globales, c'est pratique, mais il est préférable d'utiliser des variables locales ;).
Quand j'étais en L2, mon professeur de Génie Logiciel nous avait interdit d'utiliser des variables globales, sinon 0/20 .
Lephenixnoir Hors ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 24/09/2014 19:44 | #


Smashmaster a écrit :
Quand j'étais en L2, mon professeur de Génie Logiciel nous avait interdit d'utiliser des variables globales, sinon 0/20 .

Et comme tout ce qui est trop radical, c'est jamais une bonne idée.
Il y a des cas où s'entêter à ne pas utiliser de variables globales est une très mauvais idée...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 61 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd