[Langage C] Les structures ?

Résolu
UNIX/VI/SHELL Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
UNIX/VI/SHELL Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit probléme, lorsque j'écrit mon programme, j'utulise des structures, ces structures peuvent etre utulisés dans des fonctions, le probléme c'est que je n'arrive pas à modifier la structure originelle pour que les modification soit pris en conte dans tous le programme, c'est modification peuvent etre initialisé dans les fonctions.
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Il faut que la structure soit définie globalement et non à l'intérieur de main ou d'une procédure.
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Salut,

Si ta structure correspond à la feuille du personnage (état, caracts, pv, etc), en théorie c'est un paramètre dans chaque fonction. Dans ce cas, un return de la structure est possible. Evidemment, ça limite un peu la possibilité de retour des fonctions si tu es obligé de faire comme ça, mais si tu ne veux pas utiliser de pointeurs, il faudra bien !

La méthode variable globale est tout à fait envisageable dans ton cas. Cependant essaye de ne pas en abuser, c'est vraiment pas propre, même si c'est très utile (un peu comme les goto). Dans ton programme, normalement il n'y a aucun risque que la structure soit appelée en concurrence, donc c'est une bonne idée ! Dans ce cas, inutile de mettre la structure dans le return.

Il reste la méthode assez moche de faire une structure contenant ta structure + d'autres flags évènements que tu utiliseras dans tes returns, mais vraiment c'est laid !
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Je déconseille vivement de passer en globale les structures, uniquement les squellettes.

Sinon encore, tu créé une structure que tu peux appeler 'Logger' par exemple, dont tu renseigne certains champ en cas d'erreur.
Cette structure, à la différence des autres serait globale (car commune et vue de toutes les parties de ton programme).

Ainsi par exemple, au retour d'une fonction, tu pourra récupérer ta structure dont un champ a été modifier par exemple, et en plus vérifié qu'il n'y a pas eu d'erreur, et si c'est le cas, récupérer le dernier message d'erreur.
Et dans tes fonctions, en cas d'erreur tu renseigne la structure logger.
0
UNIX/VI/SHELL Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   7
 
Re,


A quoi ressemblera la syntaxe ? Vous me pourriez me montrer avec un exemple de code en C svp ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
UNIX/VI/SHELL Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   7
 
Re,

c'est bon ca marche, j'ai donc utulisé des variables globales.
0