[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 -
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.
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:
- [Langage C] Les structures ?
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
5 réponses
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 !
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 !
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question