Bonjour. J'ai créer une structure dans mon .h:
Code :
- struct chose {
- int x; // pour l'exemple
- int y;
- };
- typedef struct chose chose;
|
Dans mon main, j'ai initialisé une variable de type chose, que j'ai passé a une fonction void de maniére a pouvoir modifier cette structure dans la fonction (je croit qu'on dit en "paramétre d'entrée/sortie" ):
MAIN:
Code :
- chose machose;
- int valeur;
- fonction1(&machose);
- valeur = machose.x;
- printf("%d", valeur);
|
Et voici le code de "fonction1" et de "fonction2":
Code :
- void fonction1(chose *p_machose) {
- (p_machose->x) = 5;
- fonction2(p_machose); // c'est déjà une adresse, je ne met pas de &, erreur?
- }
-
- void fonction2(chose p_machose) { // erreur?
- (p_machose->x)++;
- }
|
C'est a ce moment que j'ai un problème, même si sur cet exemple c'est inutile, je veut passer ma structure a une autre fonction que j'appelle dans fonction 1, mais de façon a pouvoir toujours modifier ses valeurs a l'intérieur de fonction2. Or, je n'y parvient pas, j'ai donc du faire une erreur dans les paramètres de la 2éme fonction ? Ou alors, il s'agit d'une erreur dans la notation de l’accès au champ.
Ça ne doit pas être très compliqué mais je n'y arrive pas... Sauriez vous résoudre mon problème ?
Merci d'avance et bon dimanche !